Security Tool #6: Netcat

di Fabrizio Sinopoli

Pubblicato 12 Gennaio 2009
Aggiornato 12 Febbraio 2018 20:48

logo PMI+ logo PMI+

Netcat è un potentissimo strumento di networking, in grado di leggere e scrivere su connessioni di rete sia TCP che UDP: in parole semplici, rappresenta il comando Unix/Linux “cat” per le reti, da cui prende il nome.

Nato nel lontano 1996, trova il primo grande successo nel 2000, quando si classificò secondo nel sondaggio relativo ai più utili software di network security promosso da Insecure.org: negli anni successivi ha sempre ottenuto “piazzamenti” di riguardo.

Netcat può essere utilizzato in tanti modi differenti, al punto che viene definito “il coltellino svizzero della sicurezza“.

Nei sistemi Linux è spesso installato di default, motivo per cui in questo caso facciamo qualche semplice esempio di utilizzo di netcat.

Piccola chat

Vogliamo creare un piccolo sistema di chat, sul nostro computer? Supponendo che questo abbia indirizzo 192.168.1.2 e sia possibile aprire la socket 3333, eseguiamo da linea di comando:

nc -l 3333

Da un altro computer nella stessa rete, possiamo chattare dopo aver digitato

nc 192.168.1.2 3333

Trasferimento file

Supponiamo di voler scaricare dal nostro PC (client) un file da un server (192.168.1.2). La procedura è la seguente: dal server apriamo una socket sulla porta 3333 su cui viene indirizzato il file che dovrà essere trasferito

cat file.iso | nc -l 3333

Per ricevere il file sul nostro client, digitiamo:

nc 192.168.1.2 3333 > file.iso

Port Scanner

Vogliamo utilizzare netcat come port scanner, ad esempio cercando quali porte sono aperte nell’intervallo 80-100? Il comando da eseguire è il seguente:

nc -z 192.168.1.2 -p 80-100

Come si può vedere, l’utilizzo di netcat è davvero vario e spesso il limite è proprio la nostra fantasia.