Salta ai contenuti

Cattura su Android

Catturare l’HTTPS su Android con un proxy si arena spesso su “il certificato è installato ma l’app continua a non accettarlo”. Sui sistemi più recenti, le app non si fidano dei certificati utente per impostazione predefinita, e le app con certificate pinning non si possono catturare affatto. La cattura su Android adotta un approccio diverso: cattura dell’intero dispositivo con decifratura automatica, senza dover installare alcun certificato sul telefono in nessun momento. Sono supportati sia i dispositivi fisici sia gli emulatori, e anche le app con certificate pinning o cifratura personalizzata vengono lette in chiaro dall’interno.


  • Collegare il dispositivo: collegalo al computer con un cavo dati e abilita il debug USB; gli emulatori vengono di solito rilevati automaticamente.
  • Root necessario: tutti e tre i metodi richiedono un dispositivo con root.
  • Nessun certificato da installare: nessuno di essi è un metodo proxy man-in-the-middle, quindi non c’è alcun certificato da installare sul telefono, ed è proprio questo che li rende più comodi della cattura tramite proxy su Android. Quando serve un certificato, un dispositivo con root può anche installare automaticamente il certificato attendibile, risparmiandoti i passaggi manuali.
  • Pronto all’uso: i componenti di supporto necessari per la cattura vengono scaricati e memorizzati nella cache automaticamente in base all’architettura del dispositivo, senza alcuna configurazione manuale dell’ambiente da parte tua.

Catturare il traffico all’interno di un emulatore Android sul computer è quasi identico a catturare un dispositivo fisico, e spesso è persino più semplice:

  • Rilevamento automatico: gli emulatori delle marche più comuni vengono individuati automaticamente, senza cavo dati e senza connessione manuale (solo i dispositivi fisici richiedono l’USB).
  • Di solito già con root: gli emulatori sono generalmente già dotati di root o possono ottenerlo con un clic, il che soddisfa comodamente il requisito per la cattura.
  • Preferisci la “chiave della NIC”: il kernel di sistema di un emulatore è spesso più datato e potrebbe non supportare la “cattura dalla NIC”, quindi scegli semplicemente la chiave della NIC, che offre la migliore compatibilità con gli emulatori.

Tutto il resto è uguale a un dispositivo fisico: seleziona l’emulatore e cattura con i metodi descritti di seguito.


La tua situazione Cosa usare Note
Dispositivo più datato / emulatore / non sai quanto è recente Chiave della NIC (predefinita consigliata) Miglior compatibilità; funziona su quasi ogni dispositivo con root
Un dispositivo fisico recente con root Cattura dalla NIC La più semplice, autosufficiente
Ti interessa solo un’app, oppure non può essere decifrata in modalità NIC Cattura a livello applicativo Legge il testo in chiaro dall’interno dell’app, gestendo certificate pinning / cifratura personalizzata

I primi due sono cattura dell’intero dispositivo con decifratura automatica e nessun certificato da installare; il terzo mira a una singola app e riesce a gestire anche quelle più fortemente protette.


Cattura tutto il traffico sulla NIC del dispositivo (Wi-Fi per impostazione predefinita) e lo decifra automaticamente, senza bisogno di scegliere un’app specifica e senza certificati da installare.

  • Miglior compatibilità: non è esigente sul kernel, e dispositivi più datati e vari emulatori funzionano tutti, il che è il suo maggior vantaggio rispetto alla cattura dalla NIC. Quando non sei sicuro di quanto sia recente il dispositivo, questa è la scelta più sicura.
  • Alcune app potrebbero mostrare solo testo cifrato: singole app che includono componenti di cifratura non standard potrebbero avere traffico che non può essere decifrato; in tal caso passa alla cattura a livello applicativo qui sotto per gestirle con precisione.

Come si usa: seleziona il dispositivo → seleziona la NIC (Wi-Fi per impostazione predefinita) → avvia la cattura.


Cattura anch’essa tutto il traffico sulla NIC del dispositivo e lo decifra automaticamente. Ciò che la distingue è che è autosufficiente e la più facile da usare (i dati e le informazioni necessarie per decifrarli sono confezionati insieme).

  • Prerequisito: richiede un dispositivo più recente (kernel più recente). Se il dispositivo è troppo vecchio per soddisfare i requisiti, riceverai un messaggio chiaro di “cattura dalla NIC non supportata” quando avvii la cattura; a quel punto passa semplicemente alla chiave della NIC.

Come si usa: seleziona il dispositivo → seleziona la NIC (Wi-Fi per impostazione predefinita) → avvia la cattura.


Mirata a una singola app, legge il testo in chiaro direttamente dal suo interno, e né il certificate pinning né la cifratura personalizzata possono fermarla.

  • Non limitata dai punti deboli della modalità NIC: le app che non possono essere decifrate in modalità NIC (certificate pinning, cifratura personalizzata) vengono lette in chiaro anche qui, perché la lettura avviene dall’interno dell’app, senza agire da man-in-the-middle e senza fare affidamento sulla decifratura dalla NIC.
  • Attiva il “traffico socket” come ripiego quando non può essere decodificato: per le app che collegano staticamente / usano una libreria personalizzata e dalle quali i metodi consueti non riescono a ottenere il testo in chiaro, attiva questo interruttore per raggiungere i dati attraverso un percorso a livello più basso.
  • Riavvia il programma di destinazione: puoi chiudere e riavviare prima l’app per catturare il traffico della sua fase di avvio iniziale.
  • Mira solo all’app selezionata (non al traffico dell’intero dispositivo).

Come si usa: scegli l’app di destinazione (selezionala dall’elenco delle app installate, oppure inserisci un nome pacchetto / nome processo; lascia il campo vuoto per catturare l’app in primo piano) → spunta “riavvia il programma di destinazione” se hai bisogno di catturare il traffico di avvio → avvia la cattura.


Oltre ai tre metodi descritti sopra, un dispositivo Android può usare anche la cattura tramite proxy: punta il proxy Wi-Fi del dispositivo verso questa macchina, installa il certificato radice, e potrai catturare l’HTTPS in chiaro proprio come su un computer e usare l’intera gamma di funzionalità di riscrittura e replay. È adatta al debug di app che passano per il proxy di sistema, o a scenari che richiedono la riscrittura / il replay basati su regole delle richieste da mobile.


  • Analizzare le richieste di rete di un’app per telefono e indagare su problemi degli endpoint, con decifratura automatica dell’intero dispositivo e senza dover armeggiare con i certificati.
  • Vedere, da una prospettiva sull’intero dispositivo, a quali endpoint un dispositivo o un’app si sono effettivamente connessi e cosa hanno inviato.
  • Quando un’app usa il certificate pinning e la modalità NIC non riesce a decifrarla, usa la cattura a livello applicativo per ottenere il testo in chiaro con precisione.
  • Per visualizzare e modificare allo stesso tempo (riscrittura / replay), usa la cattura tramite proxy.

Torna a Cattura tramite proxy · Correlati: Visualizzazione e decodifica dei dati · Gestione e installazione dei certificati