Netcat (nebo nc v krátkosti) je jednoduchý, ale výkonný vytváření sítí nástroj příkazového řádku použitého pro provedení jakékoli operace v Linuxu související s TCP, UDP, nebo UNIX-domain sokety.
Netcat lze použít pro skenování portů, přesměrování portů, jako posluchač portů (pro příchozí připojení); lze jej také použít k otevření vzdálených připojení a mnoha dalších věcí. Kromě toho jej můžete použít jako zadní vrátka k získání přístupu k cílovému serveru.
v tomto článku vysvětlíme příkazy použití Netcat s příklady.,
Jak nainstalovat a používat Netcat v Linuxu
Chcete-li nainstalovat balíček netcat do vašeho systému, použijte výchozí správce balíčků pro distribuci Linuxu.
$ yum install nc $ dnf install nc $ sudo apt-get install Netcat
po instalaci balíčku netcat můžete pokračovat dále a naučit se použití příkazu netcat v následujících příkladech.
Skenování Portů
Netcat může být použit pro skenování portů: vědět, které porty jsou otevřené a běžících služeb na cílovém počítači. Může skenovat jeden nebo více nebo řadu otevřených portů.,
Zde je příklad, -z
možnost nastaví nc jednoduše skenování pro poslech démony, aniž by ve skutečnosti odeslání žádné údaje k nim. -v
volba umožňuje verbose režimu a -w
určuje časový limit pro připojení, které nemůže být stanovena.,
Přenos Souborů Mezi Servery Linux
Netcat umožňuje přenos souborů mezi dvěma Linux počítače nebo servery, a oba tyto systémy musí mít nc nainstalován.
například, kopírovat obraz ISO soubor z jednoho počítače do druhého a sledovat průběh přenosu (pomocí fv utility), spusťte následující příkaz na odesílatele/server počítači (tam, kde je ISO soubor existuje).,
toto spustí NC v režimu poslechu (-l
příznak) na portu 3000.
$ tar -zcf - debian-10.0.0-amd64-xfce-CD-1.iso | pv | nc -l -p 3000 -q 5
a v počítači přijímač/klient spusťte následující příkaz k získání souboru.
$ nc 192.168.1.4 3000 | pv | tar -zxf -
Vytvořit Příkazový Řádek Serveru Chatu
můžete také použít Netcat vytvořit jednoduchý příkaz-line messaging server okamžitě., Stejně jako v předchozím příkladu použití musí být NC nainstalován na obou systémech používaných pro chatovací místnost.
na jednom systému spusťte následující příkaz a vytvořte Chat server listening na portu 5000.
$ nc -l -vv -p 5000
na druhém systému spusťte následující příkaz a spusťte chatovací relaci do počítače, kde je spuštěn server pro zasílání zpráv.,
$ nc 192.168.56.1 5000
Vytvořit Základní Web Server
Vtip -l
možnost nc příkaz slouží k vytvoření základní, nejistá webový server sloužit statický web soubory pro studijní účely. Chcete-li to prokázat, vytvořte soubor .html
, jak je znázorněno.
$ vim index.html
přidejte do souboru následující řádky HTML.
<html> <head> <title>Test Page</title> </head> <body> <p>Serving this file using Netcat Basic HTTP server!</p> </body></html>
uložte změny v souboru a ukončete.,
pak slouží výše uvedený soubor přes HTTP spuštěním následujícího příkazu, který umožní HTTP serveru běžet nepřetržitě.
$ while : ; do ( echo -ne "HTTP/1.1 200 OK\r\n" ; cat index.html; ) | nc -l -p 8080 ; done
otevřete webový prohlížeč a přístup k obsahu pomocí následující adresy.,
Všimněte si, že můžete zastavit Netcat HTTP server stisknutím .
řešení problémů s připojením serveru Linux
dalším užitečným využitím Netcat je řešení problémů s připojením k serveru. Zde můžete pomocí Netcat ověřit, jaká data server odesílá v reakci na příkazy vydané klientem.
následující příkaz načte domovskou stránku example.com.,
$ printf "GET / HTTP/1.0\r\n\r\n" | nc text.example.com 80
výstup výše uvedeného příkazu zahrnuje záhlaví odeslané webovým serverem, které lze použít pro účely odstraňování problémů.
najděte službu běžící na portu
Netcat můžete také použít k získání bannerů portů. V takovém případě vám řekne, jaká služba běží za určitým portem. Chcete-li například vědět, jaký typ služby běží za portem 22 na konkrétním serveru, spusťte následující příkaz (nahraďte 192.168.56.110 IP adresou cílového serveru). Příznak -n
znamená zakázat vyhledávání DNS nebo služeb.,
$ nc -v -n 192.168.56.110 80
Create a Stream Sockets
Netcat also supports creation of UNIX-domain stream sockets. The following command will create and listen on a UNIX-domain stream socket.
$ nc -lU /var/tmp/mysocket &$ ss -lpn | grep "/var/tmp/"
Create a Backdoor
You can as well run Netcat as a backdoor., To však vyžaduje více práce. Pokud je Netcat nainstalován na cílovém serveru, můžete jej použít k vytvoření zadního vrátka a získat vzdálený příkazový řádek.
Chcete-li jednat backdoor, musíte Netcat poslouchat na vybraném portu (např. port 3001) na cílovém serveru a poté se k tomuto portu můžete připojit z vašeho počítače následujícím způsobem.
Toto je příkaz určený ke spuštění na vzdáleném serveru, kde -d
možnost zakáže čtení ze stdin, a -e
určuje příkaz pro spuštění na cílovém systému.,
$ nc -L -p 3001 -d -e cmd.exe
V neposlední řadě lze Netcat použít jako proxy pro různé služby / protokoly včetně HTTP, SSH a mnoha dalších. Další informace naleznete na stránce man.
$ man nc
v tomto článku jsme vysvětlili 8 praktických příkladů použití příkazu Netcat. Pokud znáte jiné praktické případy použití, sdílejte s námi prostřednictvím níže uvedeného formuláře zpětné vazby. Můžete se také zeptat.