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:
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