Tcpdump
Analizzatore di traffico da linea di comando.
Più veloce dei prodotti grafici.
Basato sulla libreria pcap
(Promiscuous Capabilities) - necessita permessi di root.
- Potente linguaggio di filtro simile al linguaggio C
- Standard de facto per i linguaggi filtro
- Si può salvare ad un file e analizzare in seguito
- Disponibile per Unix e Windows
Sintassi:
tcpdump -i interfaccia [ opzioni ] [ filtro ]
Alcune opzioni:
-w | -r file
- scrive in | legge da file-v -vv -vvv
- verbosità a vari livelli-x -xx -X
- anche il contenuto in hex
Esempi
Le opzioni sono decine. Queste sono le più importanti.
Cattura pacchetti da interfaccia specifica:
tcpdump -i eth0
Cattura numero limitato di pacchetti:
tcpdump -c 5 -i eth0
Stampa i pacchetti in ASCII:
tcpdump -A -i eth0
Stampa i pacchetti in Hex e ASCII:
tcpdump -XX -i eth0
Mostra le interfacce disponibili:
tcpdump -D
Salva i pacchetti in un file:
tcpdump -w 0001.pcap -i eth0
Leggi i pacchetti da un file:
tcpdump -r 0001.pcap
Non risolvere nomi con DNS:
tcpdump -n -i eth0
Cattura solo il protocollo TCP:
tcpdump -i eth0 tcp
Cattura da una porta specifica:
tcpdump -i eth0 port 22
Cattura da sorgente specifica:
tcpdump -i eth0 src 192.168.20.151
Cattura pacchetti a destinazione specifica:
tcpdump -i eth0 dst 10.10.10.10
Filtraggio Pacchetti
Il linguaggio di filtraggio pacchetti basato su pcap è complesso e potente.
Vi è solitamente sulla rete una grande quantità di traffico, molto del quale di nessun interesse. Vogliamo catturare solo il traffico che ci interessa sviluppando un filtro adeguato.
Se l'espressione del filtro è complessa può essere scritta in un file e passata al tcpdump con l'opzione -F
. Esempio:
tcpdump -F file-filtro
Se non vi è un filtro, tcpdump cattura tutti i pacchetti.