Netcat (eller nc
) er et kommandolinjeverktøy som leser og skriver data på tvers av nettverk-tilkoblinger, ved å bruke TCP eller UDP-protokollene. Det er en av de mest kraftfulle verktøy i nettverk og system administratorer arsenal, og det som anses som en Swiss army-kniv av nettverk verktøy.
Netcat er kryss-plattform, og det er tilgjengelig for Linux, mac os, Windows, og BSD. Du kan bruke Netcat å feilsøke og monitor network connections, søke etter åpne porter, og kan overføre data, som en proxy, og mer.,
Netcat pakken er pre-installert på macOS og populære Linux-distribusjoner som Ubuntu, Debian, eller CentOS.
Netcat Syntaks #
Den mest grunnleggende syntaksen for Netcat utility tar følgende form:
nc host port
På Ubuntu, kan du bruke enten netcat
eller nc
. De er begge symlinker til openBSD versjon av Netcat.
som standard, Netcat vil forsøke å starte en TCP-tilkobling til den angitte vertsnavn og port., Hvis du ønsker å etablere en UDP-tilkobling, kan du bruke -u
valg:
nc -u host port
– Port Skanning #
Skanne porter er en av de vanligste bruksområdene for Netcat. Du kan skanne en enkel port eller et portområde.,
For eksempel, for å søke etter åpne porter i området 20-80 vil du bruke følgende kommando:
nc -z -v 10.10.8.8 20-80
-z
alternativet vil fortelle nc
for å bare søke etter åpne porter, uten å sende data til dem og -v
alternativ til å gi mer detaljert informasjon.
output vil se ut noe som dette:
Hvis du ønsker å skrive ut kun de linjene med åpne porter, kan du filtrere resultatene med grep
– kommandoen.,
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!
Du kan også bruke Netcat å finne server-programvare og versjon. For eksempel, hvis du sender en «EXIT» – kommandoen til serveren på standard SSH-port 22 :
echo "EXIT" | nc 10.10.8.8 22
output vil se ut noe som dette:
SSH-2.0-OpenSSH_7.6p1 Ubuntu-4Protocol mismatch.
for Å søke etter UDP-porter bare legge til -u
alternativ til kommandoen som vist nedenfor:
nc -z -v -u 10.10.8.8 20-80
Vanligvis, Nmap er et bedre verktøy enn Netcat for komplekse port skanner.,
Sende Filer via Netcat #
Netcat kan brukes til å overføre data fra en vert til en annen ved å lage en enkel klient/server-modellen.
Dette fungerer ved å sette Netcat å høre på en bestemt port (ved bruk av -l
alternativ) på sambandet og deretter å etablere en vanlig TCP-tilkoblingen fra den andre vert og sende filen over det.,
På mottak kan du kjøre følgende kommando som vil åpne porten 5555 for innkommende tilkobling og omdirigere utdata til fil:
nc -l 5555 > file_name
Fra å sende vert koble til sambandet og sende filen:
nc receiving.host.com 5555 < file_name
for Å overføre en katalog du kan bruke tar
til arkiv-mappen på kilden vert og til å pakke ut arkivet på vertsmaskin.
På sambandet, angi Netcat verktøy for å lytte etter innkommende tilkobling på port 5555., De innkommende dataene er transportert til tar
– kommandoen, som vil pakke ut arkivet:
nc -l 5555 | tar xzvf -
På verten som sender pack katalogen og sende data ved å koble til lytting nc
prosessen på sambandet:
tar czvf - /path/to/dir | nc receiving.host.com 5555
Du kan se overføringen pågår i begge ender. Når du er ferdig, skriver du inn CTRL+C
for å lukke tilkoblingen.
Opprette en Enkel Chat-Server #
prosedyren for å opprette en online-chat mellom to eller flere verter er den samme som ved overføring av filer.,
På den første vert starte en Netcat prosess for å lytte på port 5555:
nc -l 5555
Fra andre vert kjør følgende kommando for å koble deg til å lytte på port:
nc first.host.com 5555
Nå, hvis du skriver en melding, og trykk på ENTER
vil det bli vist på begge vertene.
for Å lukke forbindelsen, skriver du inn CTRL+C
.
du Utfører en HTTP-forespørsel #
Selv om det er mye bedre verktøy for HTTP-forespørsler som curl
du kan også bruke Netcat å sende ulike forespørsler til eksterne servere.,
For eksempel, for å hente Netcat mannen side fra OpenBSD hjemmeside, vil du skriv:
printf "GET /nc.1 HTTP/1.1\r\nHost: man.openbsd.org\r\n\r\n" | nc man.openbsd.org 80
Den fullstendige svar, inkludert HTTP-hoder og HTML-kode, vil bli skrevet ut på terminalen.
Konklusjon #
I denne opplæringen, har du lært hvordan du bruker Netcat verktøyet til å etablere og teste TCP-og UDP-tilkoblinger.
For mer informasjon, besøk Netcat man-siden og les om alle andre kraftige valg av Netcat kommando.
Leave a Reply