Come catturare informazioni all'interno di una rete con Wireshark



                                         


Vi siete mai chiesti come si possono filtrare, catturare e spiare i pacchetti e quindi le informazioni che passano all'interno di una rete di computer..??

Esiste uno strumento di analisi di rete, Wireshark  apprezzato da tantissimi utenti non solo per la sua utilità ma anche per la  facilità della sua interfaccia.
Spiare i pacchetti consente quindi di poter leggere tutte le informazioni che passano in chiaro nella comunicazione tra il PC ed internet. Questo vuol dire che se due persone si trovano all'interno dello stesso ufficio e i loro PC sono collegati allo stesso router, uno dei due potrà spiare tutte le informazioni dell'altra persona collegata all'altro PC perchè se i due PC sono collegati allo stesso router vuol dire che sono collegati  sulla stessa rete e quindi si vedono l'uno con l'altro. Naturalmente  Wireshark non sarò in grado di reperire informazioni riguardanti siti che viaggiano sul protocollo HTTPS.

Eccovi alcune caratteristiche:

  • Permette di effettuare un' analisi dei dati catturati anche a distanza di tempo (offline);
  • dispone di un'interfaccia grafica molto intuitiva;
  • supporta la lettura/scrittura di differenti formati;
  • consente di catturare dati da diverse interfacce: Ethernet, Bluetooth, USB, Wireless, ecc;
  • riesce a decifrare molti protocolli tra cui SSL/TLS, WEP. Kerberos, WPA/WPA2, IPsec, ecc;
  • l'analisi dei dati è facilitata dalla possibilità di creare regole per applicare una diversa colorazione ai differenti tipi di dati;
  • può essere generato da un output in diversi formati: XML, PostScript, CSV, testo normale. 

Adesso dopo che vi abbiamo parlato un poco delle sue caratteristiche occorre capire come funziona!
Wireshark come abbiamo detto prima è uno strumento che analizza le informazioni dei pacchetti e le dispone nelle colonne. Siccome i protocolli del livello più alto potrebbero sovrascrivere le informazioni dei livelli più bassi, quasi sempre vedremo le informazioni del livello più elevato. 

Per essere più chiari vi facciamo un esempio:

Guardiamo che cosa succede se abbiamo un pacchetto che contiene un TCP all'interno di un IP all'interno di Ethernet: la parte relativa ad Ethernet  scriverà i suoi dati (supponiamo gli indirizzi Ethernet), quella relativa all'IP sovrascriverà questi dati inserendo i propri (gli indirizzi IP) ovvero (LIVELLO RETE) e infine, la parte relativa al TCP sovrascriverà a sua volta i dati inserendo le proprie informazioni (LIVELLO TRASFERIMENTO).



Adesso invece vi mostreremo un esempio di cattura.




 Vi starete chiedendo come leggere le varie colonne:

  • "No" indica il numero del pacchetto all'interno del file di cattura;
  • "Time" invece indica il tempo trascorso tra un pacchetto e un altro;
  • "Source" invece indica l'indirizzo di provenienza del pacchetto;
  • "Destination" invece indica l'indirizzo di destinazione del pacchetto.
  • "Protocol" indica la tipologia del protocollo utilizzato dal pacchetto in questione;
  • "Info" indica invece delle informazioni sul contenuto del pacchetto.


N.B 
Potete selezionare un pacchetto (una riga) ed aprire un ulteriore menù facendo clic col tasto destro del mouse.


Come potete notare sotto tutte queste colonne ci sono due "frame" ovvero altre due finestre!
Nel primo "frame" sotto a quello delle colonne di cui abbiamo appena parlato potete trovare ulteriori dettagli (ad esempio la dimensione del pacchetto, protocolli nel frame, MAC address dell'indirizzo di provenienza, porta usata dall'indirizzo di provenienza e porta usata dall'indirizzo di destinazione, ecc...).
Nel frame ancora sottostante sono invece visualizzabili i dati relativi al pacchetto selezionato in uno stile esadecimale. Come di consueto per un "hexdump" nella parte di sinistra viene riportato l'offset relativo ai dati del pacchetto; nella parte centrale i dati sono invece rappresentati sotto forma di esadecimale; invece nella parte di destra vengono rappresentati tramite caratteri ASCII.

E se volessimo cominciare a catturare qualche pacchetto??? 
La prima cosa da fare è quella di selezionare l'interfaccia (Ethernet, Wireless, ecc..), per selezionarla è possibile utilizzare la prima icona in alto a sinistra oppure si può aprire il menù a tendina premendo su "Capture" poi premere sulla voce "Interfaces". 
Da qui si può anche selezionare l'interfaccia virtuale chiamata "any": in questo modo verranno selezionate tutte le interfacce disponibili. Si aprirà quindi il menù come nell'immagine qui sotto:





Normalmente le opzioni base che vengono attivate sono le seguenti: (guarda immagine sotto)







Inoltre se torniamo sul menù di capture e clicchiamo sulla voce "Capture Filters" possiamo creare un filtro a nostro piace in modo da catturare "al volo" le informazioni che ci interessano.
Abbiamo deciso di postare il link di un sito in cui è possibile trovare vari esempi di filtri http://wiki.wireshark.org/CaptureFilters invece su quest'altro sito troverete la sintassi giusta da utilizzare per i filtri http://www.tcpdump.org/tcpdump_man.html..