GNU/Linux >> Znalost Linux >  >> Linux

Jak používat příkazy Netcat s příklady

Příkaz Netcat (nc) je výkonný nástroj pro analýzu síťových připojení, skenování otevřených portů, přenos dat atd. Jedná se o síťový nástroj pro čtení a zápis do síťových připojení pomocí protokolů TCP nebo UDP.

Jak nainstalovat netcat

Jedná se o multiplatformní nástroj a je k dispozici pro Linux, macOS, Windows a BSD. Chystáme se nainstalovat netcat na stroj Ubuntu 18.04 pomocí apt install nebo kompilací ze zdrojového kódu.

Instalace pomocí apt je docela jednoduchá, stačí do terminálu napsat následující příkaz:

sudo apt install netcat

V systému CentOS 8

Ncat lze nainstalovat s balíčkem nmap na RHEL 8/CentOS 8. Použijte příkaz dnf, jak je uvedeno níže

sudo dnf install nmap

Jak nainstalovat netcat ze zdrojového kódu

Kompilace netcatu ze zdrojového kódu není tak snadná jako instalace pomocí apt install , ale pokud budete postupovat podle níže uvedených kroků, můžete jej snadno nainstalovat.

Stáhněte si zdrojový kód z webu netcat pomocí následujícího příkazu

wget http://sourceforge.net/projects/netcat/files/netcat/0.7.1/netcat-0.7.1.tar.gz

Rozbalte nově stažený archiv. Chcete-li to provést, můžete spustit:

tar -xzvf netcat-0.7.1.tar.gz

cd do adresáře obsahujícího zdrojový kód balíčku a napište ./configure pro konfiguraci balíčku pro váš systém.

cd netcat-0.7.1
./configure

Pokud se vám při spuštění příkazu ./configure zobrazuje chybová zpráva - "v $PATH nebyl nalezen žádný přijatelný kompilátor C", ujistěte se, že máte nainstalovaný kompilátor gcc. Chcete-li jej nainstalovat, zadejte následující příkaz:

apt-get install build-essential

Spuštění configure chvíli to trvá.

Po úspěšném dokončení konfigurace spusťte:

sudo make

a

sudo make install

Binární soubory programu a objektové soubory můžete odstranit z adresáře zdrojového kódu zadáním make clean . Chcete-li také odstranit soubory, které configure vytvořeno, spusťte make distclean příkaz.

Příklady Netcat

Než začnete prozkoumávat některé příkazy netcat, je důležité vědět, že pokud se vážete na známé porty (0-1023) pomocí nc, potřebujete oprávnění root. Jinak můžete spustit nc jako normální uživatel.

1) Otestujte, zda je otevřený konkrétní port TCP vzdáleného hostitele

nc -vn 192.168.40.146 2424

Výstup, pokud je port 2424 na vzdáleném serveru uzavřen

nc: connect to 192.168.40.146 port 2424 (tcp) failed: Connection refused

Výstup, pokud je otevřen port na vzdáleném serveru (např. 22 port)

Connection to 192.168.40.146 22 port [tcp/*] succeeded!
SSH-2.0-OpenSSH_7.6p1 Ubuntu-4

2) Proveďte skenování portu TCP proti vzdálenému hostiteli

Níže uvedený příkaz zkontroluje porty od 20 do 25 na vzdáleném hostiteli a vytiskne výsledek.

nc -vnz -w 1 192.168.40.146 20-25

Výstup bude vypadat takto

nc: connect to 192.168.40.146 port 20 (tcp) failed: Connection refused
nc: connect to 192.168.40.146 port 21 (tcp) failed: Connection refused
Connection to 192.168.40.146 22 port [tcp/*] succeeded!
nc: connect to 192.168.40.146 port 23 (tcp) failed: Connection refused
nc: connect to 192.168.40.146 port 24 (tcp) failed: Connection refused
nc: connect to 192.168.40.146 port 25 (tcp) failed: Connection refused

3) Proveďte skenování portů UDP proti vzdálenému hostiteli

nc -vnzu 192.168.40.146 1-65535

Výstup zobrazí pouze porty, které umožňují připojení udp.

Connection to 192.168.40.146 2424 port [udp/*] succeeded!
Connection to 192.168.40.146 12354 port [udp/*] succeeded!

4) Odešlete testovací paket UDP vzdálenému hostiteli

echo -n "udp test" | nc -u -w1 192.168.40.146 2424

Výše uvedený příkaz odešle testovací paket UDP s časovým limitem 1 sekundy vzdálenému hostiteli na portu 2424

5) Zkopírujte soubor (např. test.txt) z jednoho hostitele na druhého

Na hostiteli přijímače (v mém případě 192.168.40.146) spusťte:

nc -lp 2424 > test.txt

Na hostiteli odesílatele (192.168.40.144) spusťte následující příkaz:

nc 192.168.40.146 2424 < test.txt

Tím se zkopíruje soubor test.txt z hostitele odesílatele do hostitele přijímače přes port 2424. ujistěte se, že povolíte příchozí připojení na portu 2424 na hostiteli přijímače.

6) Přeneste celý adresář (včetně jeho obsahu) z jednoho hostitele na druhého

Na hostiteli přijímače spusťte:

nc -l 2424 | tar xvf -

Na hostiteli odesílatele spusťte následující příkaz:

tar cvf - /path/to/dir | nc 192.168.40.146 2424

7) Vytvořte komprimovanou zálohu pevného disku (např. /dev/sdc) na vzdáleném hostiteli

Na vzdáleném hostiteli spusťte:

nc -lp 2424 | sudo dd of=/path/to/image.img.gz

Na místním hostiteli spusťte následující příkaz:

dd if=/dev/sdc | gzip -c | nc 192.168.40.146 2424

8) Obnovte pevný disk (např. /dev/sdc) z komprimovaného obrazu disku uloženého ve vzdáleném hostiteli

Na místním hostiteli spusťte:

nc -lp 2424 | gunzip -c | sudo dd of=/dev/sdc

Na vzdáleném hostiteli spusťte následující příkaz:

cat /path/to/image.img.gz | nc 192.168.40.144 2424

9) Provozujte nezabezpečený online chat mezi dvěma hostiteli

Na jednom hostiteli (např. 192.168.40.144) spusťte níže uvedený příkaz:

nc -lp 2424

Na jiném hostiteli (např. 192.168.40.146) spusťte následující příkaz:

nc 192.168.40.144 2424

Po spuštění těchto příkazů bude vše napsané v obou terminálech vidět na obou hostitelských počítačích.

10) Spusťte webový server se statickou webovou stránkou

Spusťte níže uvedený příkaz na místním hostiteli (např. 192.168.40.144) a spusťte webový server, který obsluhuje test.html na portu 80. Pamatujte, že musíte spouštět s právy sudo, protože 80 je v rozsahu dobře známých portů (1-1023)

while true; do sudo nc -lp 80 < test.html; done

Nyní otevřete http://192.168.40.144/test.html z jiného hostitele, abyste k němu měli přístup.

11) Poslouchejte na portu TCP pomocí adresy IPv6

Následující příkaz můžete použít k povolení nc používat IPv6 adresu při naslouchání na TCP portu.

nc -6 -l 2424

Zkontrolujte, zda funguje pomocí příkazu níže

sudo netstat -nap | grep 2424

Výstup bude vypadat takto

tcp6 0 0 :::2424 :::* LISTEN 15665/nc

12) Streamujte soubor videa ze serveru, aby klient mohl sledovat streamované video pomocí přehrávače videa (např. mplayer)

Na videoserveru (192.168.40.144):

cat sample_video.avi | nc -l 2424

Na hostitelském počítači klienta (192.168.40.146):

nc 192.168.40.144 2424 | mplayer -vo x11 -cache 3000 -

Přečtěte si také:

  • Jak používat Linux Netcat Command jako Port Scanner
  • Jak vytvořit jednoduchý chat s netcat v Linuxu

Jak můžete vidět, netcat je skvělý nástroj pro TCP/IP sítě a je to jeden z nejoblíbenějších nástrojů systémových administrátorů, pokud jde o řešení problémů se sítí a experimentování. To je důvod, proč je mnoho linuxových distribucí dodáváno s předinstalovaným netcat.


Linux
  1. Jak používat příkazy „cat“ a „tac“ s příklady v Linuxu

  2. Jak používat příkaz ethtool s příklady

  3. Jak používat Linux Hexdump Command s praktickými příklady

  1. SSH na jiný port než 22:Jak na to (s příklady)

  2. Příkaz SCP v Linuxu:Jak jej používat, s příklady

  3. Jak používat příkaz Rmmod v systému Linux s příklady

  1. Jak používat příkaz IP v Linuxu s příklady

  2. Jak používat Linux Cat Command (s příklady)

  3. Jak používat příkaz spánku Linux s příklady