Security Tool #10: tcpdump

di Fabrizio Sinopoli

Pubblicato 19 Gennaio 2009
Aggiornato 12 Febbraio 2018 20:48

tcpdump è uno strumento di sniffing molto diffuso nel mondo Unix/Linux: permette di analizzare il tipo di pacchetti che passano per l’interfaccia di rete specificata. Di fatto, il suo utilizzo è molto simile a quello di WireShark/Ethereal, di cui abbiamo parlato in questo articolo, ma agisce solamente da linea di comando, anziché tramite una (comoda) interfaccia grafica.

Come detto, è molto diffuso e utilizzato su molte piattaforme Unix-like: Linux, Solaris, BSD, Mac OS X, HP-UX e AIX, sviluppato sulla base delle librerie per la cattura di pacchetti libpcap. Su Windows invece è stato fatto un porting, che prende il nome di WinDump. Vediamo insieme qualche semplice esempio di utilizzo.

Su macchine Linux (come può essere ad esempio il vostro PC Ubuntu) è necessario eseguirlo con i privilegi di root, in questo caso quindi con il comando sudo:

sudo tcpdump -i eth0

Con l’opzione -i si indica l’interfaccia di rete su cui mettersi in ascolto e catturare i pacchetti.

Se vogliamo limitare il numero di pacchetti da analizzare e poi uscire, si utilizza l’opzione -c (count)

sudo tcpdump -i eth0 -c 10

Se invece vogliamo analizzare tutto il traffico che passa per una determinata porta, ad esempio la porta 80:

sudo tcpdump port 80

Infine, se vogliamo analizzare il traffico di una sottorete in relazione ad una determinata porta:

tcpdump net 10.0.0.0/24 and port 22

Visualizza tutti i pacchetti per la sottorete 10.0.0.0/24 relativi al protocollo ssh (porta 22)