Tcpdump

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.