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.
wireshark tshark sniffer
Commentami!