Netcat (eller nc
) er et kommandolinjeværktøj, der læser og skriver data på tværs af netværksforbindelser ved hjælp af TCP-eller UDP-protokollerne. Det er et af de mest kraftfulde værktøjer i netværket og systemadministratorer arsenal, og det betragtes som en Sch .ei .isk hærkniv af netværksværktøjer.
Netcat er cross-platform, og den er tilgængelig til Linu., macOS, Windowsindo .s og BSD. Du kan bruge Netcat til at fejlsøge og overvåge netværksforbindelser, scanne efter åbne porte, overføre data, som en pro .y og meget mere.,
Netcat-pakken er forudinstalleret på macOS og populære Linu. – distributioner som Ubuntu, Debian eller CentOS.
Netcat Syntaks #
Den mest grundlæggende syntaks i Netcat nytte tager følgende form:
nc host port
Om Ubuntu, kan du enten bruge netcat
eller nc
. De er begge symlinks til openBSD-versionen af Netcat.
Som standard vil Netcat forsøge at starte en TCP-forbindelse til den angivne vært og port., Hvis du ønsker at etablere en UDP forbindelse, skal du bruge -u
funktion:
nc -u host port
Port Scanning #
Scanning havne er en af de mest almindelige anvendelser for Netcat. Du kan scanne en enkelt port eller et portområde.,
For eksempel at scanne, for at åbne porte i intervallet 20-80 ville du bruge følgende kommando:
nc -z -v 10.10.8.8 20-80
-z
option vil fortælle nc
til kun at scanne for åbne porte, uden at sende nogen data til dem og -v
mulighed for at give mere detaljerede oplysninger.
udgangen vil se sådan ud:
Hvis du kun vil udskrive linjerne med de åbne porte, kan du filtrere resultaterne med kommandoengrep
.,
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å bruge Netcat til at finde ud af server-software og dens version. For eksempel, hvis du sender en “AFSLUT” – kommando til serveren på standard SSH port 22 :
echo "EXIT" | nc 10.10.8.8 22
vil udskriften se noget som dette:
SSH-2.0-OpenSSH_7.6p1 Ubuntu-4Protocol mismatch.
for At skanne for UDP-porte du skal blot tilføje -u
indstilling til den kommando, som vist nedenfor:
nc -z -v -u 10.10.8.8 20-80
Typisk, Nmap er et bedre værktøj end Netcat til komplekse port scanning.,
afsendelse af filer via Netcat #
Netcat kan bruges til at overføre data fra en vært til en anden ved at oprette en grundlæggende klient / servermodel.
Dette fungerer ved at indstille Netcat til at lytte på en bestemt port (ved hjælp af indstillingen -l
) på den modtagende vært og derefter oprette en almindelig TCP-forbindelse fra den anden vært og sende filen over den.,
På den modtagende køre følgende kommando, som vil åbne port 5555 for indgående forbindelse, og omdirigere outputtet til en fil:
nc -l 5555 > file_name
Fra den afsendende vært opret forbindelse til den modtagende vært og sende filen:
nc receiving.host.com 5555 < file_name
for At overføre en mappe, som du kan bruge tar
arkiv mappe på kilde-vært og til at udpakke arkivet på den destination, der er vært.
På den modtagende vært skal du indstille Netcat-værktøjet til at lytte efter en indgående forbindelse på port 5555., De indgående data sendes til tar
kommando, som vil udpakke arkivet:
nc -l 5555 | tar xzvf -
På den afsendende vært pack bibliotek og sende data ved at forbinde til den, der lytter nc
proces på den modtagende vært:
tar czvf - /path/to/dir | nc receiving.host.com 5555
Du kan se overførsel fremskridt i begge ender. Når du er færdig, skal du skrive CTRL+C
for at lukke forbindelsen.
oprettelse af en simpel chatserver #
proceduren for oprettelse af en online chat mellem to eller flere værter er den samme som ved overførsel af filer.,
På den første vært starte en Netcat proces til at lytte på port 5555:
nc -l 5555
Fra den anden vært, skal du køre følgende kommando for at oprette forbindelse til den lyttende port:
nc first.host.com 5555
Nu, hvis du skriver en besked, og tryk på ENTER
det vil blive vist på begge værter.
for at lukke forbindelsen skal du skrive CTRL+C
.
udførelse af en HTTP-anmodning #
selvom der er meget bedre værktøjer til HTTP-anmodninger , såsomcurl
, kan du også bruge Netcat til at sende forskellige anmodninger til eksterne servere.,for eksempel for at hente Netcat man-siden fra OpenBSD-webebstedet, skriver du:
printf "GET /nc.1 HTTP/1.1\r\nHost: man.openbsd.org\r\n\r\n" | nc man.openbsd.org 80
det fulde svar, inklusive HTTP-overskrifterne og HTML-koden, udskrives i terminalen.
konklusion #
i denne vejledning har du lært, hvordan du bruger Netcat-værktøjet til at etablere og teste TCP-og UDP-forbindelser.
For mere information, besøg Netcat man-siden og læs om alle andre kraftfulde indstillinger i netcat-kommandoen.
Leave a Reply