Tartalomjegyzék
netcat
- Szerző: Sallai András
- Copyright © Sallai András, 2019
- Web: http://szit.hu
A netcatról
Kézikönyve szerint a netcat TCP/IP svájci bicskája. Egy egyszerű unix eszköz, ami képes olvasni és írni a hálózati kapcsolatokba, TCP vagy UDP protokollt használva.
Telepítés
apt install netcat
Indítás
Az netcat indítható netcat vagy nc paranccsal is. Valójában mindkettő egy szimbolikus link a /bin/nc.traditional programra.
Alapvető szintaxis:
$ netcat [opciók] gép port
A netcat alapértelmezetten TCP kapcsolatot használ. Használata így hasonlít a telnet parancshoz. Ne felejtsd el, hogy az adatok titkosítatlanul áramlanak a kapcsolatban.
Ha UDP protokollt szeretnél kiépíteni, használd a -u kapcsolót.
$ netcat -u gép port
Megadható porttartomány is:
$ netcat gép kezdőport-utolsó_port
Port szkennelés
A -z kapcsoló hatására nem épít kapcsolatot a netcat, csak ellenőrzést végez.
$ netcat -z -v zold.lan 1-1023
A -v hatására bőbeszédű üzemmódba kapcsoltunk.
Gyorsabb eredményt kaphatunk, ha IP cím alapján hivatkozunk a célgépre.
$ netcat -z -n -v 192.168.10.3 1-1023
A -n kapcsolóval kikapcsoljuk az IP címek DNS névfeloldását.
A kimenet ehhez hasonló lehet:
(UNKNOWN) [192.168.10.3] 80 (http) open (UNKNOWN) [192.168.10.3] 22 (ssh) open
Egy port megvizsgálása, időlimittel:
$ netcat -zvw3 192.168.10.3 22 192.168.10.3 [192.168.10.3] 22 (ssh) open
Kommunikáció
Egy gépen állítsuk be, hogy hallgatózzon 9000-s porton:
$ netcat -l -p 9000
A netcat ezek után figyeli 9000-s portot. Rendszergazdai jog nélkül 1024 alatt nem nyithat portot.
Egy másik gépen indítsuk egy kliens programot. A netcat számára IP címnek az előző gép címét írjuk:
netcat 192.168.10.3 9000
A netcat nem adja vissza várakozási jelet. Ekkor írjunk be tetszőleges szöveget, majd Enter billentyűvel nyugtázzuk. A beírt szöveg megjelenik az első számítógépen is. A bevitelt Ctrl+C-vel szakíthatjuk meg.
Megadhatunk időlimitet is:
nc -w 10 192.168.10.3 9000
Fájl küldése
Az első gépen irányítsuk a netcat kimenetét egy állományba:
netcat -l -p 9000 > gy.txt
A másik gépen készítsünk egy fájlt: cat > adat.txt alma körte barack szilva Ctrl+d
Most indítsuk el a netcat programot:
netcat 192.168.10.3 9000 < adat.txt
Lehet így is:
cat adat.txt | netcat 192.168.10.3 9000
Szakítsuk meg az átvitelt Ctlr+C-vel:
Ctrl+C
Az első gépen is kilép a netcat. Nézzük meg a gy.txt tartalmát:
$ cat gy.txt
Ha bemenet tömörített, fogadó oldalon kibonthatjuk:
$ netcat -l -p 9000 | tar xzvf -
Küldő oldalon ekkor:
$ tar -czf - adat.txt | netcat 192.168.10.3 9000
Webszerver
Készítsünk egy egyszerű HTML oldalt. Legyen a neve index.html.
A szervernek szánt oldalon:
$ print 'HTTP/1.1 200 OK\n\n%s' "$(cat index.html)" | netcat -l -p 9000
Kliens oldalon indítsunk egy böngészőt és írjuk be a szerver címét, porttal:
192.168.10.3:9000
Ha végtelen ciklusban tesszük, folyamatosan szolgáltatja az oldalt:
while true print 'HTTP/1.1 200 OK\n\n%s' "$(cat index.html)" | netcat -l -p 9000 done