8 Polecenie Netcat (NC) z przykładami

8 Polecenie Netcat (NC) z przykładami

Netcat (Lub NC W skrócie) to proste, ale potężne narzędzie wiersza poleceń sieciowych używane do wykonywania dowolnej operacji w Linux w związku z TCP, UDP, Lub UNIX-Gniazda domeny.

Netcat może być używane do skanowania portów, przekierowanie portu, jako słuchacz portu (dla połączeń przychodzących); Można go również użyć do otwierania zdalnych połączeń i wielu innych rzeczy. Poza tym możesz użyć go jako backdoora, aby uzyskać dostęp do serwera docelowego.

W tym artykule wyjaśnimy Netcat Polecenia użytkowania z przykładami.

Jak instalować i używać Netcat w Linux

Aby zainstalować Pakiet Netcat W swoim systemie użyj domyślnego menedżera pakietów dla dystrybucji Linux.

$ yum instaluj NC [na centos/rhel] $ dnf instaluj NC [na Fedora 22+ i Rhel 8] $ sudo apt-get instaluj netcat [na debian/ubuntu] 

Raz Pakiet Netcat zainstalowane, możesz przejść dalej, aby nauczyć się użycia polecenie netcat W następujących przykładach.

Skanowanie portów

Netcat Może być używany do skanowania portów: Aby wiedzieć, które porty są otwarte i uruchomione usługi na komputerze docelowym. Może skanować pojedynczy, wielokrotny lub zakres otwartych portów.

Oto przykład, -z Zestawy opcji NC po prostu zeskanować pod kątem słuchania demonów, bez wysyłania do nich żadnych danych. -v Opcja umożliwia tryb werbowy i -w Określa limit czasu na połączenie, którego nie można ustalić.

$ nc -v -w 2 z 192.168.56.1 22 #scan pojedynczy port lub $ nc -V 2 z 192.168.56.1 22 80 #scan wiele portów lub $ nc -V -w 2 z 192.168.56.1 20-25 #scan Zakres portów 
Skanuj na otwarte porty w Linux

Przenieś pliki między serwerami Linux

Netcat umożliwia przesyłanie plików między dwoma komputerami lub serwerami Linux i oba systemy muszą mieć NC zainstalowane.

Na przykład, aby skopiować plik obrazu ISO z jednego komputera do drugiego i monitorować postęp transferu (za pomocą narzędzia PV), uruchom następujące polecenie na komputerze nadawcy/serwera (gdzie istnieje plik ISO).

To będzie działać NC w trybie słuchania (-L flaga) na porcie 3000.

$ TAR -ZCF -Debian -10.0.0-AMD64-XFCE-CD-1.ISO | PV | NC -L -p 3000 -q 5 

A na komputerze odbiorniku/klienta uruchom następujące polecenie, aby uzyskać plik.

$ NC 192.168.1.4 3000 | PV | TAR -ZXF - 
Transfer plików między systemami Linux

Utwórz serwer czatu wiersza poleceń

Możesz także użyć Netcat Aby natychmiast utworzyć prosty serwer przesyłania wiadomości. Jak w poprzednim przykładzie użytkowania, NC należy zainstalować w obu systemach używanych do pokoju czatu.

W jednym systemie uruchom następujące polecenie, aby utworzyć serwer czatowy słuchający w porcie 5000.

$ nc -l -vv -p 5000 

W drugim systemie uruchom następujące polecenie, aby uruchomić sesję czatu na komputerze, na którym działa serwer wiadomości.

$ NC 192.168.56.1 5000 
Utwórz serwer czatu w wierszu poleceń

Utwórz podstawowy serwer WWW

Wit -L opcja Polecenie NC Służy do tworzenia podstawowego, niepewnego serwera internetowego do obsługi statycznych plików internetowych do celów uczenia się. Aby to zademonstrować, stwórz .html plik jak pokazano.

indeks $ vim.html 

Dodaj następujące wiersze HTML w pliku.

  Strona testowa   

Obsłużenie tego pliku za pomocą Basic Server NetCat Basic HTTP!

Zapisz zmiany w pliku i wyjdź.

Następnie serwuj powyższy plik w HTTP, uruchamiając następujące polecenie, co umożliwi serwer HTTP działanie ciągłego.

$ While :; do (echo -ne "http/1.1 200 OK \ r \ n ”; indeks CAT.html; ) | NC -L -p 8080; zrobione 
Utwórz serwer WWW w wierszu poleceń

Następnie otwórz przeglądarkę internetową i może uzyskać dostęp do treści za pomocą następującego adresu.

http: // localhost: 8080 lub http: // server_ip: 8080 
Test Server WWW

Zauważ, że możesz zatrzymać Serwer Netcat HTTP Naciskając [Ctrl+ C].

Rozwiązywanie problemów z połączeniem serwera Linux

Kolejne przydatne użycie Netcat jest rozwiązywanie problemów z problemami z połączeniem serwera. Tutaj możesz użyć Netcat Aby sprawdzić, jakie dane wysyła serwer w odpowiedzi na polecenia wydane przez klienta.

Następujące polecenie pobiera stronę główną przykład.com.

$ printf "get / http / 1.0 \ r \ n \ r \ n "| nc tekst.przykład.com 80 

Wyjście powyższego polecenia obejmuje nagłówki wysłane przez serwer internetowy, który może być używany do celów rozwiązywania problemów.

Znajdź usługę działającą na porcie

Możesz także użyć Netcat Aby uzyskać banery portowe. W takim przypadku powie ci, jaka usługa działa za określonym portem. Na przykład, aby wiedzieć, jaki rodzaj usługi działa za portem 22 Na określonym serwerze uruchom następujące polecenie (zamień 192.168.56.110 z adresem IP serwera docelowego). -N Flaga oznacza wyłączenie DNS lub wyszukiwania serwisowe.

$ nc -v -n 192.168.56.110 80 
Znajdź usługę działającą na porcie

Utwórz gniazda strumieniowe

Netcat wspiera także tworzenie gniazd strumieniowych unix-domen. Poniższe polecenie utworzy i wysłuchuje w gnieździe strumieniowej Unix-domen.

$ nc -lu/var/tmp/mysocket & $ ss -lpn | grep "/var/tmp/" 
Utwórz gniazdo strumieniowe w wierszu poleceń

Utwórz backdoor

Możesz równie dobrze biec Netcat Jako backdoor. Wymaga to jednak więcej pracy. Jeśli Netcat jest instalowany na serwerze docelowym, możesz go użyć do utworzenia backdoora, aby uzyskać zdalny wiersz polecenia.

Aby działać na tylnym, którego potrzebujesz Netcat słuchać na wybranym porcie (e.G Port 3001) na serwerze docelowym, a następnie możesz podłączyć się do tego portu z komputera w następujący sposób.

To jest polecenie, które ma działać na zdalnym serwerze, na którym -D opcja wyłącza odczyt ze stdin i -mi Określa polecenie do uruchomienia w systemie docelowym.

$ nc -l -p 3001 -d -e cmd.exe 

Nie mniej ważny, Netcat Może być używany jako proxy dla różnych usług/protokołów, w tym HTTP, SSH i wiele innych. Aby uzyskać więcej informacji, zobacz stronę Man.

$ MAN NC 

W tym artykule wyjaśniliśmy 8 praktycznych Przykłady użycia polecenia NetCat. Jeśli znasz inne praktyczne przypadki użycia, udostępnij nam za pomocą poniższego formularza sprzężenia zwrotnego. Możesz również zadać pytanie.