21340 Letture

Fiddler: un software per verificare cosa accade "dietro le quinte" quando si carica un sito web

Tra i software più interessanti per chi desidera comprendere cosa accade "dietro le quinte" quando si visita un qualunque sito web, c'è sicuramente Fiddler. L'applicazione, completamente gratuita, poggia sull'utilizzo del .Net Framework di Microsoft ed è stata realizzata da Eric Lawrence, program manager del team di Internet Explorer.

Fiddler è un proxy server che fa da "intermediario" tra il sistema remoto col quale, ad esempio, il browser si trova a colloquiare (un server web) e la macchina cliente dell'utente. Grazie alla sua architettura, il programma è capace di catturare tutto il traffico HTTP e HTTPS mostrandolo in forma facilmente leggibile all'utente che potrà poi analizzarlo con calma. Quest'interessante utilità può essere sfruttata anche per alterare dinamicamente il traffico dati in transito da e verso un certo server: in questo modo è possibile verificare il comportamento dei due sistemi coinvolti nella comunicazione ed effettuare test approfonditi.

Nonostante il "tracciamento" del traffico scambiato da parte di un qualunque browser web è tipicamente lo scenario di riferimento per l'utilizzo di Fiddler, il programma è in realtà capace di "intercettare" i dati in transito da e verso una qualunque applicazione che faccia uso dei protocolli HTTPS o HTTPS. Fiddler consente di stabilire cosa accade quando ci si collega con un qualunque sito web verificando, a colpo d'occhio, quali file sono via a via scaricati (pagine HTML, immagini, script JavaScript, contenuti Flash, applet Java e così via). Il software è utilissimo anche per effettuare analisi delle performance ossia per controllare quali elementi di un sito web impegnano maggiormente la connessione consumando più banda e richiedendo più tempo per essere prelevati.
Le funzionalità di Fiddler possono essere agevolmente estese utilizzando degli appositi plugin.


Per impostazione predefinita, Fiddler è già in grado, di per sé, di "monitorare" il traffico scambiato tra client e server ricorrendo allo stack WinINET. Si tratta di speciali API utilizzate da Internet Explorer così come da tanti altri programmi per "colloquiare" sulla Rete.
Il software sviluppato da Eric Lawrence, infatti, si comporta come un proxy ponendosi in mezzo tra l'applicazione lato client (ad esempio le API WinINET) e il sistema remoto. Nel caso di Internet Explorer e Google Chrome, Fiddler riuscirà – appena installato – a catturare immediatamente il traffico dati scambiato coi server remoti. Nel caso di applicazioni che non poggiano sullo stack WinINET, invece, sarà necessario impostare manualmente l'utilizzo del proxy Fiddler (è il caso di Mozilla Firefox).

Fiddler può essere scaricato gratuitamente cliccando su questo link. Ad installazione ultimata, avviando il programma, ci si troverà dinanzi ad una finestra simile alla seguente:

Nell'ampia area mostrata a sinistra, Fiddler riporta l'elenco delle sessioni aperte. In altre parole, non appena ci si collega, ad esempio, ad un sito web, il programma riporta la lista completa degli elementi che vengono scaricati dal server remoto sul sistema locale.
Dal momento che anche Fiddler si appoggia alle API WinINET, al primo avvio dell'applicazione, potrebbe essere subito visualizzata una sessione. Si tratta del controllo che Fiddler effettua automaticamente e che ha come obiettivo quello di verificare se siano disponibili delle versioni aggiornate del programma. I trasferimenti dati in corso (download) vengono evidenziati con una freccia di colore verde la cui punta è orientata verso il basso.

Nella barra di stato di Fiddler, in basso a sinistra, ci sono due informazioni importanti: la presenza della dizione Capturing indica che l'applicazione sta tracciando i dati in transito mentre la voce riportata immediatamente a destra fa riferimento alle tipologie di programmi che vengono controllati. L'indicazione "Web Browsers" sta a significare che Fiddler concentra la sua azione di monitoraggio solo sui browser web. Con un clic del mouse si può estendere eventuale il tracciamento anche tutti gli altri processi, non solo ai browser:

Per interrompere l'operazione di cattura dei dati è possibile cliccare su Capturing od usare il tasto F12.

Nel caso di Internet Explorer e Firefox, Fiddler integra le sue funzionalità anche nel browser. Agendo su un pulsante della barra degli strumenti oppure su un'apposita voce di menù (nel caso di Firefox, Strumenti, Monitor with Fiddler) è possibile attivare manualmente l'operazione di monitoraggio.

In alternativa, per tutti i browser ed i programmi che non s'interfacciano direttamente con le API WinINET, è possibile impostare manualmente un proxy server indicando, come indirizzo, localhost (o 127.0.0.1) e la porta 8888:

Dopo aver digitato un URL all'interno della barra degli indirizzi del browser, tornando nella finestra di Fiddler, si noterà la lista delle varie richieste HTTP/HTTPS tracciate.
Ricorrendo alla combinazione di tasti CTRL+X, è possibile cancellare tutte le informazioni registrate da Fiddler ed avere la possibilità, così, di ripartire da zero.

Affinché tutti gli elementi vengano nuovamente scaricati dal sito web d'interesse, suggeriamo di ricorrere alla combinazione di tasti CTRL+F5. Essa consente di richiedere un "full refresh" ossia un nuovo download completo di tutte le informazioni. Alcuni dati infatti (immagini, script, codice HTML), potrebbero risultare già presenti nella cache del browser e non essere richieste alla nuova visita del sito web.


La scheda Statistics consente di ottenere tutti i dettagli circa il prelevamento dell'elemento selezionato nel pannello di sinistra di Fiddler.
Evidenziando tutte le sessioni (combinazione di tasti CTRL+A), si avrà una visione globale su quanto accaduto: tempi di risposta, tempistiche occorrenti per il download completo della pagina, tipologie di contenuti prelevati, codici di risposta ricevuti e così via.

Con un clic su Show chart, si otterrà un'indicazione riassuntiva, in forma grafica, circa le tipologie dei contenuti scaricati dal server web remoto:

Cliccando sulla scheda Timeline è possibile stabilire in che modo si sono susseguite le varie richieste e controllare quali elementi hanno richiesto più tempo per essere scaricati.

Molto utile si rivela anche il pulsante Process filter, posto nella barra degli strumenti di Fiddler. Tale strumento consente di impostare la singola finestra che deve essere oggetto dell'attività di monitoraggio di Fiddler. Per scegliere una particolare finestra (non necessariamente quella di un browser web), è sufficiente mantenere premuto il tasto sinistro del mouse su Process filter quindi portarsi in corrispondenza dell'oggetto che s'intende sorvegliare. Effettuata l'operazione, Fiddler mostrerà il nome del processo monitorato seguito dal suo identificativo numerico (process ID):

Per tornare alla situazione iniziale, basta cliccare sullo stesso pulsante.


Maggiori informazioni su Fiddler sono reperibili sul sito web ufficiale, raggiungibile cliccando qui.


Fiddler: un software per verificare cosa accade