Netcat (sau nc
) este un utilitar de linie de comandă, care citește și scrie date pe conexiunile de rețea, folosind TCP sau UDP. Este unul dintre cele mai puternice instrumente din arsenalul administratorilor de rețea și de sistem și este considerat un cuțit elvețian al armatei de instrumente de rețea.Netcat este cross-platform și este disponibil pentru Linux, macOS, Windows și BSD. Puteți utiliza Netcat pentru a depana și monitoriza conexiunile de rețea, pentru a scana porturi deschise, pentru a transfera date, ca proxy și multe altele.,Pachetul Netcat este preinstalat pe macOS și pe distribuții Linux populare precum Ubuntu, Debian sau CentOS.
Netcat Sintaxa #
Cele mai de bază sintaxa Netcat de utilitate are următoarea formă:
nc host port
Pe Ubuntu, puteți utiliza fie netcat
sau nc
. Ambele sunt simboluri ale versiunii openBSD a Netcat.
în mod implicit, Netcat va încerca să pornească o conexiune TCP la gazda și portul specificat., Dacă doriți să stabilească o conexiune UDP, folosiți -u
opțiune:
nc -u host port
Scanarea de Porturi #
Scanarea de porturi este una dintre cele mai comune utilizări pentru Netcat. Puteți scana un singur port sau un interval de port.,
De exemplu, pentru a scana pentru porturile deschise în intervalul 20-80 v-ar folosi următoarea comandă:
nc -z -v 10.10.8.8 20-80
-z
opțiune va spune nc
pentru a scana doar pentru porturile deschise, fără a trimite date la ei și -v
opțiune pentru a oferi mai detaliat de informații.dacă doriți să imprimați numai liniile cu porturile deschise, puteți filtra rezultatele cu comanda grep
.,
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!
de asemenea, puteți utiliza Netcat pentru a găsi software-ul de server și versiunea acestuia. De exemplu, dacă trimiteți o „IEȘIRE” comanda la server pe portul SSH implicit 22 :
echo "EXIT" | nc 10.10.8.8 22
ieșire va arata ceva de genul asta:
SSH-2.0-OpenSSH_7.6p1 Ubuntu-4Protocol mismatch.
Pentru a scana pentru UDP pur și simplu adăugați -u
opțiunea de a comanda de mai jos:
nc -z -v -u 10.10.8.8 20-80
de Obicei, Nmap este un instrument mai bun decât Netcat pentru complexe de scanare a porturilor.,
trimiterea fișierelor prin Netcat #
Netcat poate fi folosit pentru a transfera date de la o gazdă la alta prin crearea unui model client/server de bază.
Aceasta funcționează prin stabilirea Netcat pentru a asculta pe un anumit port (folosind -l
opțiune) pe gazdă și apoi de stabilire a unui regulate conexiune TCP de la altă gazdă și trimiterea de fișiere pe ea.,
la primirea executați următoarea comandă care va deschide portul 5555 pentru conexiune de intrare și de a redirecționa producția de fișier:
nc -l 5555 > file_name
De la trimiterea gazdă a vă conecta la gazdă și trimite fișier:
nc receiving.host.com 5555 < file_name
Pentru a transfera un director, puteți folosi tar
pentru a arhiva pe directorul de pe calculatorul sursa și pentru a extrage arhiva pe gazda destinație.
pe gazda receptoare, setați instrumentul Netcat pentru a asculta o conexiune de intrare pe portul 5555., Datele de intrare este adus la tar
comanda, care va extrage arhiva:
nc -l 5555 | tar xzvf -
Pe trimiterea gazdă alege directorul și trimite date prin conectarea la ascultare nc
proces pe gazdă:
tar czvf - /path/to/dir | nc receiving.host.com 5555
puteți viziona progresul transfer de la ambele capete. Odată finalizat, tastați CTRL+C
pentru a închide conexiunea.
crearea unui simplu server de Chat #
procedura de creare a unui chat online între două sau mai multe gazde este aceeași ca la transferul fișierelor.,
Pe prima gazdă a începe un Netcat proces pentru a asculta pe portul 5555:
nc -l 5555
De la cea de-a doua gazdă executați următoarea comandă pentru a vă conecta la portul de ascultare:
nc first.host.com 5555
Acum, dacă tastați un mesaj și apăsați ENTER
va fi afișat pe ambele gazde.
pentru a închide conexiunea, tastați CTRL+C
.deși există instrumente mult mai bune pentru cererile HTTP , cum ar fi curl
, puteți utiliza, de asemenea, Netcat pentru a trimite diverse solicitări către serverele la distanță.,
De exemplu, pentru a prelua Netcat om pagină din OpenBSD site web, tastați:
printf "GET /nc.1 HTTP/1.1\r\nHost: man.openbsd.org\r\n\r\n" | nc man.openbsd.org 80
răspuns complet, inclusiv antetele HTTP și HTML cod, vor fi tipărite în terminal.
concluzie #
În acest tutorial, ați învățat cum să utilizați utilitarul Netcat pentru a stabili și testa conexiunile TCP și UDP.pentru mai multe informații, vizitați pagina Man Netcat și citiți despre toate celelalte opțiuni puternice ale comenzii Netcat.
Leave a Reply