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 8080 apre 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 9000 spinge il contenuto verso l’host remoto.
  • Test di connettività: nc -vz google.com 80 verifica 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.