Home / Network & Sniffing / Network & Sniffing / Tshark: usare Wireshark da riga di comando
Mattepuffo

Tshark: usare Wireshark da riga di comando

Tshark: usare Wireshark da riga di comando

Wireshark è considerato il miglior sniffer in circolazione, anche se non è molto semplice da usare.

Inoltre è dotato di un'ottima gui in Gtk.

Però, come ho fatto più volte notare, non sempre le gui sono migliori del terminale.

Può sembra anacronistico e strano, ma oggi vediamo come usare Wireshark da terminale con Tshark.

La forma più semplice è questa:

# tshark -i eth0

Con l'opzione -i specifichiamo l'interfaccia da usare.

Non avendo una gui a dispozione, la cosa migliore è salvare tutto direttamente su file:

# tshark -i eth0 -w /tmp/wire.cap

Lo abbiamo salvato con estensione cap in modo che poi possa essere "studiato" dopo:

# tshark -z "proto,colinfo,tcp.srcport,tcp.srcport" -r /tmp/wire.cap

Con l'opzione -z serve per raccogliere determinate statistiche; ce ne stanno parecchie e consiglio una lettura della man page.

Con -r gli indichiamo il file da leggere.

Usando -R e -z possiamo filtrare tutto ciò che vogliamo:

# tshark -R "http.response and http.content_type contains image" -z "proto,colinfo,http.content_length,http.content_length" -z "proto,colinfo,http.content_type,http.content_type" -r /tmp/wire.cap

Oppure possiamo usare anche solo -R; la decisione sta a noi a seconda delle esigenze.

Altre opzioni interessanti sono:

  • -a -> serve per indicare se stoppare lo sniffing al verificarsi di una condizione
  • -c -> il massimo numero di pacchetti da catturare
  • -f -> per impostare dei filtri nel momento della cattura
  • -N -> risolve i nomi

Ovviamente le opzioni non finiscono qua.

Vi riconsiglio una lettura della man page.

Infine sappiate che per usare tshark dovete o essere root o aggiungere il vostro utente al gruppo wireshark.