Cos’è netcat?
Netcat è un piccolo programma che si occupa di trasferire dati tra host. Può aprire porte, ascoltare, inviare e ricevere. È il “cappello” per chi deve testare le proprie reti o debuggear problemi di connettività.
Perché è utile?
La sua semplicità lo rende ideale: basta una riga di comando per aprire un socket TCP, inviare un file o verificare se un servizio risponde. Con netcat si può simulare client e server senza installare software pesante.
Esempi pratici
- Ascolto di una porta:
nc -l 8080apre la porta 8080 in ascolto. Se un altro host invia dati, li riceverai sullo schermo. - Invio di un file:
cat documento.txt | nc 192.168.1.5 9000spinge il contenuto verso l’host remoto. - Test di connettività:
nc -vz google.com 80verifica se la porta 80 è raggiungibile, restituisce un messaggio chiaro.
Netcat vs. altri strumenti
Mentre cURL e Wget sono ottimi per HTTP, netcat si concentra su TCP/UDP generico. Se devi aprire una connessione raw o eseguire un tunnel temporaneo, netcat è la scelta rapida.
Come installarlo
Sulla maggior parte delle distribuzioni Linux è già presente: sudo apt-get install netcat. Su macOS si può usare Homebrew con brew install netcat. Windows ha versioni portate da Cygwin o come Netcat for Windows.
Precauzioni di sicurezza
Aprire porte con netcat crea vulnerabilità se non protette. Evita di lasciare socket aperti in ambienti pubblici e controlla sempre i permessi.