Packet "sniffing" con Wireshark.

(C) 2013 - Francesco Settembrini - f.settembrini@poliba.it

 

 

 

Proviamo a fare qualche esperimento di "sniffing" su reti di computer utilizzando il notissimo analizzatore di pacchetti Wireshark .

 

Per l'occasione ho realizzato una coppia di applicazioni (lato client e lato server ) con le quali inviare le richieste che intercetteremo

col Wireshark : potremo cosi` vedere ed analizzare la gran quantita` di messaggi generata dietro le quinte .

 

Grazie alle possiblita` di filtraggio dei pacchetti del Wireshark concentreremo la nostra attenzione sui tre seguenti protocolli di rete :

- ICMP , utilizzato da IP al livello rete per la diagnostica (layer 3 ovvero di rete dello stack ISO/OSI )

- TCP , il protocollo di base per le comunicazioni con connessione ed affidabili (layer 4 ovvero di trasporto dello stack ISO/OSI )

- HTTP, il protocollo utilizzato dai  web-browser per la navigazione sulle pagine web    (layer 7 ovvero applicativo dello stack ISO/OSI )

 

L'applicazione server NetWorkingServer.exe ed il Wireshark sono eseguiti all'interno di una macchina virtuale VMWare

in cui e` installato il  Windows XP  mentre l'applicazione client NetWorkingClient.exe  viene eseguita sotto sotto Windows 7 .

 

 

Iniziamo col protocollo ICMP (Internet Control Message Protocol) usato a livello rete per i messaggi di controllo e/o diagnostica.

Avviamo Wireshark dalla macchina VMWare con l'indirizzo IP  impostato a  192.168.1.100  mentre dal Windows 7

(il sistema operativo principale del computer) apriamo una shell  da cui eseguire il classico ping ; inoltre in Wireshark impostiamo

il filtro dei pacchetti sul valore ICMP .

Nella figura seguente sono evidenziati il filtro ICMP ed inoltre gli indirizzi IP utilizzati dagli host mittente e destinatario :

 

 

Nel seguente screenshot si puo` vedere qualche dettaglio in piu` sui pacchetti ICMP ricevuti :

 

 

 

Adesso avviamo le applicazioni NetWorkingServer.exe nella macchina virtuale VMWare e NetWorkingClient.exe nell'ambiente host con Windows 7

non dimenticando di impostare il filtro di Wireshark su TCP e, in NetWorkingClient.exe,  l'indirizzo IP su 192.168.1.100 .

Dall'applicazione client premiamo il pulsante send e, dopo qualche istante, vedremo la client-area del Wireshark popolarsi di dati ; la stringa

"Hello TCP !" inviata dall'applicazione client all'applicazione server utilizzando il protocollo di trasporto TCP la ritroviamo nel datagramma

evidenziato denominato [PSH, ACK] :

 

 

Facciamo ora un ultimo esperimento col protocollo HTTP :

 

Ancora una volta ho evidenziato la stringa di dati scambiata tra le applicazioni client e server, prontamente catturata dal Wireshark ( col filtro impostato su http ) .

 

 

Wireshark e` liberamente scaricabile dall'omonimo sito mentre il file di cattura wireshark.pcapng e gli eseguibili

NetWorkingClient.exe e NetWorkingServer.exe sono disponibili qui .

 

 

 

 

 

 

 

^ ^ ^ ^ ^ ^ ^