Nel mondo delle telecomunicazioni e dell’informatica, si chiama “pacchetto” ogni sequenza di dati trasmessa su una rete o su un canale di comunicazione che utilizzi la modalità di trasferimento detta a “commutazione di pacchetto“. L’informazione, diversamente da quanto accade nella “commutazione di circuito“, viene segmentata in varie unità a sé stanti dette, appunto, “pacchetti”. Ciascun pacchetto è dotato di un’intestazione (header) contenente le istruzioni necessarie affinché il dato venga consegnato alla destinazione corretta ed il numero del pacchetto (non è detto che i pacchetti dati facciano sempre lo stesso percorso; è quindi necessario un meccanismo che ricomponga, nel giusto ordine, i pacchetti non appena questi arriveranno, via a via, sul sistema “ricevente”). La commutazione di pacchetto, alla base del funzionamento della rete Internet, ha l’innegabile vantaggio di non prevedere la “costruzione” di un canale di comunicazione diretto tra sorgente e destinazione dei dati: la rete è a disposizione di più utenti che possono inviare e ricevere simultaneamente informazioni.
La possibilità di condividere una medesima linea di comunicazione, apre le porte alla possibilità di analizzare le informazioni in transito. Un software come Wireshark, infatti, viene definito “sniffer“, ad indicare le sue abilità nell’intercettazione e nell’analisi dei pacchetti dati in transito. Wireshark, disponibile nelle versioni per sistemi Windows, Mac OS X e Linux, una volta installato, è capace di esaminare sia le intestazioni, sia il contenuto vero e proprio (payload) di ogni singolo pacchetto.
Si tratta di un programma universalmente apprezzato che viene mantenuto costantemente aggiornato ed è distribuito come software libero, sotto licenza GNU GPL.
Grazie alla sua interfaccia grafica di semplicissimo utilizzo e di immediata comprensione, Wireshark può offrire una panoramica dettagliata di tutto ciò che sta accadendo sulla rete locale (sia essa cablata oppure wireless). Punto di forza dell’applicazione è 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 del programma che, tra l’altro, permette di effettuare l’operazione in tempo reale, mentre si stanno monitorando i pacchetti dati in transito.
Il software trae vantaggio dall’utilizzo della cosiddetta modalità promiscua: una scheda di rete, di norma, riceve i pacchetti dati ad essa destinati mentre, impostandola in modalità promiscua, diventa in grado di “intercettare” tutto il traffico, compreso quello destinato verso altre interfacce della LAN. Wireshark offre quindi un valido ausilio per aiutare gli esperti nell’individuazione di eventuali vulnerabilità dei sistemi utilizzati in azienda (credenziali di accesso trasmesse in chiaro, attività sospette,…).
Il software permette di scegliere quale interfaccia di rete deve essere analizzata, se le informazioni debbano essere memorizzate o meno, di acquisire log da altri programmi similari.
Come ulteriore nota importante, sappiate che è possibile fare in modo che il driver di WinPcap, la libreria alla quale Wireshark si appoggia per la “cattura” dei pacchetti dati, non venga automaticamente caricato all’avvio di Windows. Se non si desidera che il driver, chiamato “NPF” in Wireshark, venga avviato ad ogni esecuzione del sistema operativo, è possibile farlo presente durante la fase d’installazione del programma.
Se Wireshark, tuttavia, dovesse mostrare il messaggio seguente, significa che il driver di WinPcap non risulta in esecuzione:
Per risolvere il problema, basterà chiudere Wireshark, aprire il prompt dei comandi con i diritti di amministratore (comando cmd
, tasto destro, Esegui come amministratore) e digitare quanto segue:
A questo punto si potrà nuovamente avviare Wireshark: il messaggio non apparirà più ed il software sarà pronto per l’uso.
Dopo aver scelto l’interfaccia di rete sulla quale si desidera concentrare la cattura dei pacchetti (menù Capture, Interfaces, Start), Wireshark inizierà a riportare, in tempo reale, tutti i dati in transito. Molto interessante è il contenuto della colonna Protocol che indica il tipo di protocollo utilizzato per ciascun pacchetto dati. Oltre al traffico HTTP, a seconda delle tipologie di trasferimento dati in corso, si potrebbero vedere apparire pacchetti legati all’invio ed alla ricezione di messaggi di posta elettronica (SMTP e POP), all’utilizzo di software per la messaggistica istantanea (MSNMS, ad esempio, nel caso di Microsoft Messenger) od all’impiego di applicazioni per il file sharing (BitTorrent, tanto per fare un nome…).
Facendo clic sul menù Statistics quindi su Protocol Hierarchy, è possibile ottenere un elenco molto dettagliato delle tipologie di traffico in corso sulla rete locale:
Qui è possibile verificare com’è distribuito l’uso della connessione di rete tra i vari servizi ed avere una panoramica generale sulle attività in corso nell’ambito della rete locale, sia su protocollo IPv4 che IPv6.
Cliccando con il tasto destro del mouse su un qualunque protocollo quindi selezionando Apply as filter, Selected, Wireshark mostrerà, nella finestra principale, solo quei pacchetti dati che si riferiscono alla tipologia di traffico selezionata.
Il filtro imposto viene visualizzato da Wireshark nella casella Filter ed esso potrà essere rimosso in qualunque istante facendo clic sul pulsante Clear.
E’ bene sottolineare che, ovviamente, il monitoraggio dell’attività della rete locale proseguirà in background anche nel momento in cui si decidesse di impostare un qualunque tipo di filtro.
Digitando bittorrent
nel campo Filter di Wireshark, si potrà ad esempio stabilire su quali workstation l’applicazione BitTorrent è in esecuzione ed il corrispondente indirizzo locale della macchina che sta effettuando tale tipologia di trasmissione dati (colonna Source).
Per ottenere rapidamente l’elenco dei sistemi connessi alla LAN che stanno effettuando certe tipologie di comunicazioni, basterà selezionare il menù Statistics, fare clic sulla voce Endpoints, sulla scheda IPv4 od IPv6 quindi spuntare la casella Limit to display filter. Così facendo, Wireshark estrapolerà dal file di registro creato in tempo reale, tutte le comunicazioni di rete che sono compatibili con il filtro precedentemente impostato:
Wireshark visualizzerà sia gli indirizzi locali che quelli remoti coinvolti nella comunicazione. Gli IP locali dovrebbero comunque apparire per primi in elenco.
Per verificare tutte le differenti tipologie di protocolli supportati da Wireshark e le rispettive denominazioni da utilizzare nella casella Filter, è sufficiente accedere al menù Analyze quindi cliccare su Enabled protocols.
Digitando le prime lettere di un protocollo qualunque, Wireshark provvederà immediatamente a ricercarlo all’interno della lista.
Come abbiamo spiegato a suo tempo in quest’articolo, digitando http
, nella casella Filter, Wireshark estrapolerà solo il traffico relativo alla “navigazione” sul web.
Cliccando su Edit, Preferences quindi su Name resolution e spuntando la casella Enable network name resolution, Wireshark provvederà automaticamente a tradurre gli IP nei corrispondenti indirizzi mnemonici.
Dopo aver confermato la modifica cliccando su OK, per tutti i nuovi pacchetti dati rilevati sull’interfaccia di rete, Wireshark provvederà ad effettuare la “tradizione” automatica:
Ancora una volta, accedendo al menù Statistics, Endpoints, quindi scegliendo IPv4 o IPv6, si otterrà la lista completa dei siti web che vengono consultati dalle varie postazioni di lavoro.
Se si volesse verificare su quali siti web sta puntando il browser installato su una specifica macchina collegata in rete locale, basterà digitare, nella casella Filter di Wireshark quanto segue:
Al posto di 192.168.1.2 andrà sostituito l’indirizzo IP locale corrispondente alla macchina da controllare.
Accedendo nuovamente alla finestra Endpoints e spuntando la casella Limit to display filter, si otterrà la lista dei siti web che l’utente della workstation indicata sta visitando.
Il software Wireshark è scaricabile facendo riferimento a questa pagina.