Netcat (vagy nc
) egy parancssori segédprogram, amely beolvassa és írja az adatokat a hálózati kapcsolatok, a TCP vagy UDP protokollok. Ez az egyik legerősebb eszköz a hálózat és a rendszergazdák arzenál, és úgy tekintik, mint egy svájci hadsereg kés hálózati eszközök.
a Netcat cross-platform, és Linux, macOS, Windows és BSD esetén is elérhető. A Netcat segítségével a hálózati kapcsolatok hibakeresésére és monitorozására, a nyitott portok keresésére, az adatok átvitelére, proxyként stb.,
a Netcat csomag előre telepítve van a macOS-ra és olyan népszerű Linux disztribúciókra, mint az Ubuntu, a Debian vagy a CentOS.
Netcat szintaxis #
a netcat segédprogram legalapvetőbb szintaxisa a következő formát ölti:
nc host port
Az Ubuntu-n anetcat
vagync
. Mindkettő a Netcat openBSD verziójához kapcsolódik.
alapértelmezés szerint a Netcat megpróbálja elindítani a TCP kapcsolatot a megadott gazdagéppel és porttal., Ha UDP-kapcsolatot szeretne létrehozni, használja a opciót:
nc -u host port
Port szkennelés #
a szkennelési portok a Netcat egyik leggyakoribb felhasználási területe. Egyetlen portot vagy porttartományt is beolvashat.,
például a 20-80-as tartományban lévő nyitott portok kereséséhez a következő parancsot használja:
nc -z -v 10.10.8.8 20-80
a -z
opció megmondja nc
hogy csak nyitott portokat keressen, anélkül, hogy adatokat küldene nekik és a -v
opció, hogy több bőbeszédű információt.
a kimenet így néz ki:
Ha csak a sorokat szeretné kinyomtatni a nyitott portokkal, szűrheti az eredményeket a grep
paranccsal.,
nc -z -v 10.10.8.8 20-80 2>&1 | grep succeeded
Connection to 10.10.8.8 22 port succeeded!Connection to 10.10.8.8 80 port succeeded!
a Netcat segítségével megtalálhatja a szerver szoftverét és annak verzióját is. Például, ha “EXIT” parancsot küld a kiszolgálónak az alapértelmezett SSH porton 22 :
echo "EXIT" | nc 10.10.8.8 22
a kimenet így néz ki:
SSH-2.0-OpenSSH_7.6p1 Ubuntu-4Protocol mismatch.
az UDP portok beolvasásához egyszerűen adja hozzá a -u
opciót a parancshoz, amint látható alul:
nc -z -v -u 10.10.8.8 20-80
általában az Nmap jobb eszköz, mint a netcat a komplex port szkenneléshez.,
fájlok küldése Netcat #
a Netcat egy alap kliens/szerver modell létrehozásával használható adatok átvitelére az egyik gazdagépről a másikra.
Ez úgy működik, hogy a Netcat egy adott porton hallgat (a -l
opció használatával) a fogadó gazdagépen, majd rendszeres TCP kapcsolatot hoz létre a másik gazdagépről, és elküldi a fájlt rajta.,
a fogadó futtassa a következő parancsot, amely nyissa meg a port 5555 bejövő kapcsolat nélkül a kimeneti fájl:
nc -l 5555 > file_name
a küldő fogadó csatlakozni a fogadó fogadó, majd küldje el a fájlt:
nc receiving.host.com 5555 < file_name
át egy könyvtárat használja a tar
archívum, hogy a könyvtár a forrás fogadó, mind a kivonat az archívum a célállomás.
a fogadó gépen állítsa be a Netcat eszközt, hogy meghallgassa a bejövő kapcsolatot az 5555-ös porton., A beérkező adatok vezetékes hogy a tar
parancs, amely a tömörített állomány kibontása:
nc -l 5555 | tar xzvf -
a küldő fogadó csomag a könyvtárba, majd küldje el az adatokat, ha a készüléket a hallgatás nc
a folyamat, a fogadó házigazda:
tar czvf - /path/to/dir | nc receiving.host.com 5555
Meg lehet nézni az átadás folyamatban mindkét végén. Miután elkészült, írja be aCTRL+C
a kapcsolat bezárásához.
egyszerű Csevegőszerver létrehozása #
az online csevegés létrehozásának folyamata két vagy több gazdagép között megegyezik a fájlok átvitelével.,
Az első fogadó indítsa el a Netcat folyamat hallgatni port 5555:
nc -l 5555
a második gazda futtassa a következő parancsot, hogy csatlakozzon a hallgat port:
nc first.host.com 5555
most, ha beír egy üzenetet, majd nyomja meg a ENTER
mindkét gépen megjelenik.
a kapcsolat bezárásához írja be a CTRL+C
parancsot.
HTTP kérés végrehajtása #
bár sokkal jobb eszközök vannak a HTTP kérésekhez, mint például acurl
, a Netcat segítségével különféle kéréseket küldhet távoli szerverekre.,
például a Netcat man oldalnak az OpenBSD webhelyről történő lekéréséhez írja be a következőket:
printf "GET /nc.1 HTTP/1.1\r\nHost: man.openbsd.org\r\n\r\n" | nc man.openbsd.org 80
a teljes válasz, beleértve a HTTP fejléceket és a HTML kódot, a terminálon lesz kinyomtatva.
következtetés #
ebben a bemutatóban megtanultad, hogyan kell használni a Netcat segédprogramot a TCP és UDP kapcsolatok létrehozásához és teszteléséhez.
további információért látogasson el a Netcat man oldalra, majd olvassa el a Netcat parancs összes többi hatékony lehetőségét.
Leave a Reply