Se non sapete nel dettaglio come funziona il trasferimento di informazioni su una qualsiasi rete, sappiate che è tutto basato su protocolli, ovvero un insieme di regole a cui si attengono tutti i componenti della rete stessa. Il protocollo HTTP è il più importante considerando la parte alta dello stack TCP/IP dal punto di vista del web. Quando visitiamo un sito, carichiamo una foto su Facebook, scarichiamo un brano da iTunes stiamo facendo largo uso di HTTP.
Il protocollo HTTP frammenta le informazioni da inviare in una serie di pacchetti che, letti in ordine sequenziale, consentono dal lato destinatario di ricostituire tutto il messaggio originario. Il motivo per il quale il messaggio da inviare viene diviso in innumerevoli pacchetti non è importante adesso. Quello che ci interessa è riuscire ad intercettare tali pacchetti ed estrapolarne le informazioni.
Gli sniffer sono i software creati appositamente per questo. Per catturare pacchetti HTTP abbiamo bisogno di uno sniffer HTTP, come ad esempio HTTPNetworkSniffer. È un programma gratuito, portabile e leggero che gira sotto Windows e che, con pochi click, vi permetterà di leggere i pacchetti HTTP che stanno transitando attualmente e di analizzarli singolarmente. Per ogni pacchetto vengono fornite tante informazioni: host name, metodo utilizzato per i trasferimento (GET o POST), URL a cui si sta inviando o da cui si sta ricevendo il pacchetto, il browser utilizzato, l’esito del trasferimento e tanto altro. Ovviamente, per comprendere queste informazioni avete bisogno almeno di un’infarinatura sul funzionamento di HTTP.
Bisogna notare, tuttavia, che HTTPNetworkSniffer può essere utile soltanto in quei casi in cui la connessione non è cifrata. Se ad esempio tentassimo di catturare pacchetti lungo una connessione HTTPS, i pacchetti sarebbero incomprensibili poiché codificate mediante SSL.