Analizzare i pacchetti della LAN con i filtri di Wireshark

Il noto packet sniffer dispone di diverse funzionalità per controllare nel dettaglio cosa accade all’interno della rete locale. Dall’FTP a Messenger, ecco alcuni esempi significativi.

Come noto ai più, Wireshark è un eccellente analizzatore di protocollo (o packet sniffer) in grado di esaminare il contenuto di tutti i pacchetti dati in transito sull’interfaccia di rete attiva.

La prerogativa di questo programma opensource, che basa il suo funzionamento sull’esperienza acquisita con lo sviluppo del famosissimo Ethereal, consiste nel fornire una panoramica dettagliata di tutto ciò che sta accadendo sulla rete locale (sia essa cablata oppure wireless) proponendo un’interfaccia grafica di semplicissimo utilizzo e di immediata comprensione.

Wireshark (disponibile per Windows, Linux, Mac OS X) è in grado di individuare i protocolli di rete utilizzati per i vari tipi di comunicazione (con i relativi incapsulamenti) e offre quindi un valido ausilio per aiutare gli esperti nell’individuazione di eventuali problemi di traffico o di vulnerabilità.

Il software permette di scegliere quale interfaccia di rete deve essere analizzata, se le informazioni debbano essere memorizzate o meno, nonché acquisire log da altri programmi similari.

La flessibilità di Wireshark e l’uso dei filtri
Punto di forza di Wireshark è certamente la sua flessibilità: grazie a speciali criteri di ordinamento e filtraggio l’utente ha modo di estrapolare, in modo rapido ed efficace, i dati di interesse dalle informazioni registrate.

Proprio i filtri che Wireshark mette nelle mani degli utenti sono uno degli aspetti più validi dell’applicazione che, tra l’altro, permette di effettuare l’operazione in tempo reale, mentre si stanno monitorando i pacchetti dati in transito.

Filtro per comunicazioni Messenger
Per filtrare in tempo reale i dati ed ottenere solamente le informazioni estratte dai pacchetti che riguardano comunicazioni con Messenger, è sufficiente digitare msnms nella casella Filter.

Cliccando il pulsante Apply, Wireshark estrarrà solo le informazioni che fanno riferimento a conversazioni Messenger effettuate all’interno dell’intera rete locale.

Come si vede nell’immagine, aggiungendo contains MSG nel campo dei filtri, abbiamo potuto estrarre tutti i messaggi Messenger scambiati con un utenti remoti da e verso la rete locale.

Nei riquadri evidenziati in rosso, è ad esempio possibile verificare come dal sistema locale con IP 192.168.1.2 sia partito un messaggio (verso l’account indicato) contenente il testo “buona serata“. Inoltre, è possibile stabilire che come client Messenger è stato utilizzato l’opensource Pidgin (user-agent).

Filtro per protocollo FTP
Analoga operazione può essere effettuata nel caso del protocollo FTP. Digitando, nella casella Filter, ftp contains USER || ftp contains PASS, si otterranno – in chiaro – i nomi utente e le password (in questo caso, rispettivamente, test e paloma) utilizzati dagli utenti della rete locale per connettersi ad un server FTP remoto (l”operatore || equivale al classico “or”):

Cliccando col tasto destro del mouse su una delle due voci registrate quindi su Follow TCP Stream, Wireshark provvederà ad estrarre dal log tutta la sessione di lavoro che ha dato vita allo scambio di dati evidenziato.

Un’analoga operazione può essere effettuata nel caso in cui venga utilizzato qualunque altro protocollo. In questo modo è possibile seguire la sequenza di azioni che si sono susseguite nel caso di qualunque genere di comunicazione di rete.

L’occasione è buona per ricordare quanto sia importante proteggere adeguatamente le connessioni Wi-Fi sempre più utilizzate in ambienti aziendali così come a casa e quanto sia cruciale adottare soluzioni per la protezione dei dati mediante l’utilizzo della crittografia.

Cliccando sul pulsante Expression… in alto, si può verificare quanti e quali filtri Wireshark (elenco completo) sia capace di imporre in modo da rendere immediatamente comprensibili i dati raccolti.

Altri esempi di filtri

• Digitando semplicemente http nella casella Filter, è possibile estrarre tutte le comunicazioni effettuate attraverso il protocollo HTTP

• Ricorrendo all’espressione http.request.method == "GET" si otterrà la lista di tutti gli elementi richiesti dalle workstation collegate alla rete locale attraverso HTTP (pagine web HTML, pagine web dinamiche, immagini nei vari formati, file multimediali e così via):

• Ricorrendo all’espressione http.request.uri contains “search”, è possibile ottenere la lista delle interrogazioni effettuate sui motori di ricerca.

• Per avere, invece, la lista dei pacchetti che hanno come origine oppure come destinazione un determinato indirizzo IP (locale o remoto), è sufficiente utilizzare – nella casella Filter – una sintassi del genere (effettuando le sostituzioni del caso): ip.dst == 192.168.1.2 || ip.src == 192.168.1.2.
L’attributo dst indica l’IP di destinazione mentre src quello sorgente.

Quelli che abbiamo citato sono ovviamente solo alcuni esempi di filtri che è possibile impiegare con Wireshark. Chi volesse approfondire, può trovare ulteriori spunti sul wiki ufficiale del progetto.

1 COMMENTO

  1. Per caso sapresti indicarmi un modo per filtrare i pacchetti utilizzati da uno specifico software? Nel caso specifico, vorrei filtrare i pacchetti di dati ENTRANTI di un emulatore Android (Bluestacks). Grazie 🙂

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome