Analizzare il traffico di rete con Wireshark

Tempo di lettura: 7 minuti
Data pubblicazione: April 20, 2016

Wireshark è probabilmente l’analizzatore di pacchetti più conosciuto e utilizzato; è gratis, open source ed è disponibile per Windows, MAC OS X e Linux. Il software può catturare, salvare, importare ed esportare i pacchetti di rete; include un sistema di filtraggio completo e colori diversificati in base al tipo di pacchetto catturato.

Introduzione

Dopo averlo installato, bisogna scegliere quale interfaccia analizzare e su cui sniffare i pacchetti. Le interfacce disponibili sono quelle attive sul nostro computer, io ho utilizzato una chiavetta esterna, ho creato un hotspot in kali e connesso alcuni dispositivi. Se siete alle prime armi, vi consiglio di fare come ho fatto io, collegando magari solo un dispositivo e navigare per qualche minuto. Poi fermare il software e iniziare ad analizzare i pacchetti trovati.

L’interfaccia di Wireshark non è complessa, basta capire dove sono i comandi principali e che si useranno maggiormente, con il tempo verrà automatico sapere cosa serve e dove trovarlo.

interface
interface
  1. Titolo: nome del file che state visualizzando;
  2. Menu: tutte le funzioni che potete usare;
  3. Icone: le principali e più utilizzate funzioni;
  4. Gestione dei filtri: uno degli elementi più importanti, serve a filtrare i pacchetti e poterli visualizzare in modo corretto;
  5. Lista dei pacchetti: tutti i pacchetti catturati, possono essere ordinati in base alle nostre esigenze;
  6. Dettaglio del pacchetto: questa sezione contiene i dettagli per ogni singolo pacchetto ed è divisa in base ai protocolli utilizzati;
  7. Byte dei pacchetti: visualizza i pacchetti in HEX dump;
  8. Barra di stato.

Per un analisi completa dell’interfaccia, potete guardare sul sito ufficiale.

Analisi di un pacchetto

Dopo aver catturato per un pò di tempo, abbiamo a disposizione migliaia di pacchetti. Le informazioni che Wireshark ci da sono molte, ecco le principali.

packethome
packethome
*

  • No: numero del pacchetti, sono ordinati in base al tempo di arrivo;
  • Time: tempo di arrivo del pacchetto;
  • Source: l’indirizzo da cui il pacchetto arriva;
  • Destination: l’indirizzo a cui è andato il pacchetto;
  • Protocol: il tipo di protocollo che sta utilizzando, in questo caso è una richiesta HTTP;
  • Lenght: lunghezza del pacchetto;
  • Info: informazioni aggiuntive, in questo caso mostra che è una richiesta GET.
packetdetails
packetdetails

Il pannelo dei dettagli del pacchetto è diviso in base al modello OSI e cambia di pacchetto in pacchetto. In questo caso segnala che:

  • Il frame numero 116 contiene 853 bytes e, se espandiamo, le informazioni che possono esserci utili ,ad esempio, sono i protocolli presenti nel frame analizzato e la stringa da utilizzare nel filtro per visualizzare pacchetti simili                              frame

  • L’indirizzo di destinazione e la sorgente, con modello e tanto di mac addressdetails

  • Tipo di protocollo utilizzato, flags, Time to live e altre informazioni del Livello di rete.In questo caso vedo che la destinazione è Mountain View, Googleipv4

  • Livello di Trasporto: in questo caso utilizzo TCP, la porta di destinazione è l’ottanta;

  • Livello di Applicazione: nell’esempio visualizzo l’host raggiunto, l’user agent del mittente e anche i cookie salvatitrnsport

Filtrare i pacchetti

Per poter analizzare approfonditamente il traffico e selezionare un’obbiettivo bisogna necessariamente utilizzare il sistema di filtraggio. Le stringhe di ricerca sono molte, e ne esistono di ogni tipo.

Per iniziare, seleziono l’indirizzo ip sorgente che mi interessa, tramite la query

ip.src == 10.42.0.121

Visto che ci sono ancora migliaia di pacchetti, mi focalizzo su connessioni TCP sulla porta 80, sulle quali, essendo la porta non crittografata (rispetto alla 443, utilizzata da servizi quali facebook), dovrei riuscire a poter trovare dati sensibili. Oltre a normali siti, noto che è stato visitato tntvillage, che a quanto pare non utilizza https ma solo http. Provo quindi a seguire lo stream TCP, ossia la conversazione che hanno avuto il client e il server (tasto destro su un pacchetto, Follow–>TCP stream)

host
host

E con una breve ricerca (cercando username o password) trovo che sono stati inviati, e sono in chiaro

userpsw
userpsw

Un’ottima tabella per i filtri è possibile trovarla qui, mentre una spiegazione breve è disponibile sul sito ufficiale.

Strumenti utili

Nella sezione Statistics possiamo trovare altre informazioni che ci possono essere utili, una di esse sono le richieste HTTP; vengono mostrati tutti i siti visitati, che possiamo poi approfondire se applichiamo il loro indirizzo IP come filtro

httpget
httpget

Altri strumenti simili a Wireshark possono essere:

  1. HTTPWatch: è un software che può essere integrato con i maggiori browser ed analizza le interazioni tra il browser e il server richiesto;
  2. Dumpcap: permette di catturare pacchetti di rete live e salvarli in file pcap. Come wireshark, ma a linea di comando;
  3. Tshark;
  4. Mergecap: permette di unire diversi file pcap in un unico file.

Conclusioni

Wireshark è uno strumento utilissimo se si hanno problemi di rete o se si vuole analizzare approfonditamente il traffico che passa nel nostro Wi-fi. Questo articolo vuole essere un’introduzione ai principali moduli. Per chi vuole e ha bisogno di approfondire, oltre all’ottima guida presente sul sito ufficiale, ho trovato molto utile il libro “Wireshark Essential” della Packt.