tcpdump è un packet sniffer che consente di catturare e visualizzare i pacchetti che transitano su un’interfaccia di rete. Viene anche spesso utilizzato per il debugging della configurazione di rete.

Installazione

A seconda della distribuzione Linux utilizzata, la sintassi per installare tcpdump é leggermente differente. Su Debian e derivate il comando é il seguente: sudo apt install tcpdump.

Packet capture

La cattura dei pacchetti rappresenta un passaggio cruciale per l’analisi del traffico di rete. Per sniffare tutti i dati che transitano su una specifica interfaccia di rete, come ad esempio eth0, eseguire il seguente comando:

1
sudo tcpdump -i eth0

Il comando avvia la cattura su eth0 mostrando in tempo reale i pacchetti che transitano. Tuttavia, spesso è necessario restringere la cattura a determinati protocolli, porte o indirizzi IP:

Comando Descrizione
tcpdump -D Opzione che elenca tutte le interfacce disponibili
tcpdump -i eth0 Cattura tutto il traffico sull’interfaccia eth0
tcpdump -i eth0 port 80 Cattura solo il traffico HTTP
tcpdump -i eth0 host 192.168.0.20 Cattura solo i pacchetti da o verso l’host 192.168.0.20
tcpdump -i eth0 tcp Cattura solo i pacchetti TCP
tcpdump -i eth0 udp Cattura solo i pacchetti UDP
tcpdump -i eth0 -c 100 Interrompe la cattura dopo 100 pacchetti

È anche possibile salvare un dump da passare ad applicazioni come Wireshark utilizzando il comando tcpdump -i eth0 -w pcapture.pcap

Riferimenti