Categories: HardwareSoftware

Monitorare il funzionamento delle applicazioni con Charles

Author: IlSoftware.it

C’è un programma compatibile con i sistemi Windows, macOS e Linux che permette di verificare quali dati scambia ciascuna applicazione installata su PC così come su qualunque dispositivo mobile, equipaggiato con qualunque sistema operativo (quindi anche Android e iOS).
Il suo nome breve è Charles anche se l’appellativo completo è Charles Web Debugging Proxy: una volta installato su una qualunque macchina, il programma è in grado di registrare tutto il traffico dati scambiato con i server remoti.

Scaricabile a questo indirizzo, Charles registra in una sorta di file di log l’intera sequenza di operazioni compiute da qualunque applicazione. Così facendo è possibile non soltanto scoprire a quali indirizzi IP o URL si collega un’app ma anche conoscere l’esatto contenuto di ciascuna richiesta.

Charles si frappone fra il sistema locale e i server remoti accessibili via Internet controllando in tempo reale il contenuto di tutti i pacchetti dati che vengono scambiati. Questo server proxy permette anche di installare un certificato root sul sistema locale così da decodificare il contenuto del traffico HTTPS.
Vi diciamo come noi utilizziamo Charles: per esaminare approfonditamente il comportamento delle app che installiamo sui nostri dispositivi mobili predisponiamo una macchina virtuale con Virtualbox (vi si può installare Windows o una distribuzione Linux).
Accedendo al menu Dispositivi, Rete, Impostazioni di rete di Virtualbox, impostiamo l’interfaccia di rete della macchina virtuale su Scheda con bridge in modo che essa sia raggiungibile e accessibile da qualunque dispositivo collegato alla LAN.

Dopo aver installato Charles nella macchina virtuale, il consiglio è quello di avviare il programma e accedere al menu Help, SSL Proxying, Install Charles Root Certificate.

Così facendo, il certificato root di Charles sarà installato sul sistema locale e in Windows sarà visibile premendo la combinazione di tasti Windows+R, digitando certmgr.msc e cercandolo nella sezione Autorità di certificazione radice attendibili, Certificati.

A questo punto, portandosi nel menu Proxy, SSL Proxying Settings si potrà cliccare sul pulsante Add, nella scheda SSL Proxying e digitare * sia nel campo Host che Port.

Così facendo Charles riuscirà a decodificare tutto il traffico dati scambiato attraverso protocolli crittografici, come HTTPS, che “chiamano in causa” gli algoritmi SSL/TLS.

Ogni volta che si avvia Charles il programma modifica automaticamente la configurazione del sistema operativo così che tutte le applicazioni installate passino attraverso il proxy server locale.

Per verificarlo basta premere la combinazione di tasti Windows+R, digitare inetcpl.cpl quindi accedere alla scheda Connessioni e infine fare clic sul pulsante Impostazioni LAN. Cliccando su Avanzate si può notare come Charles abbia impostato come proxy l’indirizzo locale 127.0.0.1 sulla porta 8888.

Con questa configurazione Edge, Internet Explorer, le altre applicazioni Windows e Google Chrome faranno transitare il traffico attraverso il server proxy di Charles.
Nel caso di Firefox è necessario importare manualmente il certificato root di Charles salvabile utilizzando il menu Help, SSL Proxying, Save Charles Root Certificate.

Impostando l’indirizzo IP privato della macchina virtuale sul quale Charles è stato installato nelle impostazioni proxy di qualunque dispositivo mobile, è possibile far in modo che tutto il traffico transiti attraverso il server proxy locale e venga così monitorato e memorizzato.

L’indirizzo IP privato assegnato alla macchina virtuale sul quale Charles è installato può essere recuperato velocemente dalla stessa interfaccia del programma cliccando su Help quindi su Local IP address.

Già visitando un qualunque sito web sulla macchina virtuale si noterà come Charles provveda ad “annotare” tutte le richieste e gli elementi via a via caricati.

Con un clic sulla scheda Contents si possono esaminare nel dettaglio le informazioni scambiate, comprese quelle trasferite via HTTPS.

Attivando un’app su un dispositivo mobile sul quale si sia configurato il sistema operativo per collegarsi all’IP privato della macchina virtuale sul quale Charles è installato (indicando anche la porta 8888), si potrà esaminarne il comportamento passo-passo impostando eventualmente dei breakpoint, utilissimi ai fini di debugging.

La sequenza temporale delle operazioni compiute dalle app o da una applicazioni web sono verificabili accedendo alla scheda Sequence di Charles (i tempi sono indicati nelle colonne Start e Duration).

Charles è un programma che viene fornito in prova per 30 giorni dal momento dell’installazione: durante tale periodo mostrerà dei nag screen invitando all’acquisto di una licenza e non potrà essere usato per più di 30 minuti consecutivi. Fatta eccezione per queste due restrizioni, Charles è estremamente versatile e tutte le sue funzionalità possono essere liberamente sfruttate.
Maggiori informazioni sulla configurazione del certificato di Charles possono essere trovate a questo indirizzo.

admin

Recent Posts

The Enermax PlatiGemini 1200W ATX 3.1 + ATX12VO PSU Review: The Swiss Army Knife

Author: AnandTech In the retail PC PSU space, most of the focus on new standards…

2 Luglio 2024

Partecipa al concorso Fanta Carrello di Henkel e prova vincere tante forniture di prodotti per la casa!

Author: Tom's Hardware Per coloro che amano i concorsi a premi, ecco una grande notizia:…

2 Luglio 2024

SEGA: il nuovo Crazy Taxi sarà MMO e open world, un vero e proprio progetto tripla A

Author: GAMEmag Con una nuova videointervista agli sviluppatori, sfortunatamente pubblicata solo in giapponese, SEGA ha…

2 Luglio 2024

Electrifier Program: Fostering Culture of Curiosity and Mastery

Author: Schneider Electric This audio was created using Microsoft Azure Speech Services Olivier Blum –…

2 Luglio 2024

È ancora possibile sviluppare un browser Web da zero? Il sogno Ladybird

Author: IlSoftware Il mercato dei browser Web è attualmente dominato da tre motori di rendering: Blink,…

2 Luglio 2024

Meta cambia l’etichettatura delle immagini realizzate o modificate con l’IA dopo le lamentele dei fotografi

Author: Hardware Upgrade Meta ha recentemente annunciato un cambiamento significativo nell'etichettatura dei contenuti potenzialmente generati…

2 Luglio 2024