Ce face nc (netcat)
nc (netcat) citește și scrie date printr-o conexiune de rețea, fără protocol peste ea. Este folosit mai ales pentru diagnoză: verifici dacă un port este deschis de pe mașina ta (dincolo de firewall-uri), testezi manual un serviciu text sau pornești un ascultător temporar.
Există mai multe variante cu opțiuni ușor diferite: pe Debian și Ubuntu este de obicei netcat-openbsd, pe Fedora și RHEL comanda nc este ncat din proiectul Nmap. Exemplele de mai jos folosesc varianta OpenBSD; verifică man nc pe sistemul tău.
Opțiuni și argumente
| Opțiune / Parametru | Descriere |
|---|---|
-z |
Doar verifică dacă portul acceptă conexiuni, fără să trimită date (OpenBSD). |
-v |
Mesaje detaliate (de exemplu „succeeded” sau motivul eșecului). |
-w SECUNDE |
Timp maxim de așteptare pentru conexiune. |
-u |
Folosește UDP în loc de TCP. |
-l |
Ascultă pe portul dat, ca un mic server. |
-k |
Cu -l: rămâne pornit și după ce clientul se deconectează. |
Exemple
Exemplul 1: Este deschis portul SSH?
Mesajul vine pe stderr; codul de ieșire 0 înseamnă că portul a răspuns.
nc -zv -w 3 203.0.113.10 22
Ieșire în terminal
Connection to 203.0.113.10 22 port [tcp/ssh] succeeded!
Exemplul 2: Mai multe porturi deodată
Portul 8080 nu are niciun serviciu pornit, așa că serverul refuză conexiunea.
nc -zv -w 3 203.0.113.10 80 443 8080
Ieșire în terminal
Connection to 203.0.113.10 80 port [tcp/http] succeeded!
Connection to 203.0.113.10 443 port [tcp/https] succeeded!
nc: connect to 203.0.113.10 port 8080 (tcp) failed: Connection refused
Exemplul 3: Transfer rapid de fișier între două mașini din rețeaua locală
Pe mașina care primește pornești ascultătorul, apoi trimiți fișierul de pe cealaltă. Datele nu sunt criptate: folosește doar în rețele de încredere, altfel scp.
# pe 192.168.1.20 (primește):
nc -l 9000 > backup.tar.gz
# pe calculatorul Anei (trimite):
nc -N 192.168.1.20 9000 < backup.tar.gz
# înapoi pe 192.168.1.20:
ls -lh backup.tar.gz
Ieșire în terminal
-rw-r--r-- 1 ana ana 48M Oct 25 11:02 backup.tar.gz
Greșeli frecvente
- Copierea unei comenzi scrise pentru altă variantă de netcat: de exemplu
nc -l -p 9000(netcat tradițional) față denc -l 9000(OpenBSD). - Trimiterea de parole sau date personale prin
nc: conexiunea este necriptată.
Comenzi înrudite
ss: Utilitar modern și ultra-rapid pentru investigarea socket-urilor și a conexiunilor de rețea.curl: Transferă date către sau de la un server folosind protocoale web (HTTP, HTTPS, FTP, REST API).traceroute / mtr: Arată ruta pachetelor până la un server, router cu router, și unde apar întârzieri sau pierderi.ping: Testează conectivitatea de rețea și măsoară timpul de răspuns (latența) către o adresă IP sau domeniu.