Capturează traficul unei aplicații Android
Aplicația Busymate DevTools pentru Android rulează un motor de captură bazat pe VPN chiar pe telefon. Fără proxy pe desktop, fără Wi-Fi partajat, fără setare de proxy — și o relatare onestă despre ce aplicații se decriptează cu adevărat pe un telefon fără root.
Pe Android, calea clasică de a citi HTTPS-ul unei aplicații este un proxy pe un laptop plus o intrare manuală de proxy în setările Wi-Fi ale telefonului. Funcționează până când părăsești acea rețea. Busymate DevTools scoate proxy-ul din peisaj: aplicația se înregistrează ca VPN al telefonului, vede fiecare conexiune pe care o face telefonul, decriptează hosturile alese de tine cu un certificat generat pe dispozitiv și transmite rezultatul către același dashboard pe care îl folosesc aplicația iOS și proxy-ul de desktop.
Există un fapt al platformei pe care acest ghid nu îl va ascunde. Începând cu Android 7.0, o aplicație ignoră certificatele instalate de utilizator dacă nu acceptă explicit. Asta înseamnă că telefonul poate captura traficul fiecărei aplicații, dar poate decripta doar aplicațiile care au încredere în depozitul de certificate al utilizatorului — în practică propriile build-uri de debug, plus browserele de sistem și clienți similari. Pasul cinci arată modificarea într-un singur fișier care face aplicația ta una dintre ele, iar ghidul despre pinning acoperă restul.
De ce ai
Un telefon, un cont și — dacă vrei corpuri decriptate de la propria aplicație — un build de debug pe care îl poți recompila.
Un telefon cu Android 7.0 sau mai nou. Pentru captură nu sunt necesare nici root, nici computer.
Un cont Busymate. Autentifică-te cu Google sau cu e-mail și parolă; autentificarea asociază telefonul cu dashboardul tău.
Numele de host ale API-ului pe care vrei să-l citești, pentru lista SSL proxy. Doar hosturile listate sunt decriptate.
Pentru propria aplicație: posibilitatea de a recompila build-ul de debug cu o configurație de securitate a rețelei dintr-un singur fișier, astfel încât să aibă încredere în certificatul generat de telefon.
Urmează
Șase pași. Configurarea ghidată a aplicației gestionează solicitările platformei un ecran pe rând; singura muncă în afara aplicației este modificarea build-ului de debug de la pasul cinci.
- 01
Instalează aplicația și acceptă consimțământul pentru captură
Instalează Busymate DevTools din Google Play sau instalează manual APK-ul de release semnat de pe pagina Android, dacă listarea nu este încă vizibilă în regiunea ta. La prima lansare, aplicația îți cere consimțământul explicit pentru a captura traficul de rețea. Captura este opțională și rămâne oprită până o pornești — nimic nu rulează în fundal înainte să spui tu.


- 02
Autentifică-te — telefonul se asociază singur
Autentifică-te cu Google sau cu e-mailul și parola. Ca pe iOS, autentificarea este asocierea: aplicația schimbă sesiunea cu o credențială de dispozitiv de lungă durată stocată în spațiul criptat al aplicației, iar telefonul apare ca Online în fila Devices a dashboardului o clipă mai târziu. Ecranul principal arată numele dispozitivului, o pastilă de cont, cardul cu comutatorul de captură și un card de pregătire cu o rotiță pentru Setări.


- 03
Adaugă domeniile pe care vrei să le decriptezi
Deschide Setările din rotiță și mergi la SSL Proxying. Listează hosturile ale căror corpuri HTTPS vrei să le citești; tot restul rămâne criptat cap la cap și apare ca nume de host cu un contor de cereri. Un asterisc și un punct la început acoperă un domeniu și toate subdomeniile lui. Aceeași secțiune conține comenzile de decriptare și o listă Ignore Hosts pentru zgomotul de fundal pe care nu-l vrei niciodată în feed.
Nu trebuie să faci asta pe telefon. Dashboardul editează aceeași listă per dispozitiv, iar o modificare acolo ajunge pe telefon în timp real, așa că un coleg poate adăuga un host în timp ce tu continui testele.
- 04
Rulează configurarea ghidată
Atinge cardul de pregătire. Configurarea ghidată parcurge trei solicitări ale platformei, un ecran pe rând: permite notificarea de captură, instalează în depozitul de certificate al utilizatorului certificatul pe care aplicația l-a generat doar pentru tine și aprobă solicitarea de conexiune VPN a Android-ului. Fiecare pas devine finalizat pe măsură ce îl completezi, iar cardul devine pregătit când toate trei trec.
Acel certificat este personal dispozitivului tău — este creat pe telefon, niciodată descărcat de pe un server partajat — și este ceea ce îi permite aplicației să prezinte un certificat de încredere pentru fiecare host pe care ai ales să-l decriptezi.


- 05
Fă ca propria aplicație să aibă încredere în depozitul de certificate al utilizatorului
Acesta este pasul pe care niciun instrument de captură pentru Android nu-l poate sări. Începând cu Android 7.0, o aplicație care țintește acel nivel sau mai sus are încredere implicit doar în depozitul de certificate al sistemului, așa că aplicația ta va închide conexiunea în clipa în care telefonul prezintă certificatul generat. Soluția este o mică configurație de securitate a rețelei, limitată la build-urile de debug, care adaugă depozitul utilizatorului alături de cel al sistemului. Android elimină complet blocul de suprascrieri de debug din build-urile de release, așa că nu poate ajunge în producție.
Creează fișierul de mai jos în aplicație, păstrează ancora de sistem lângă cea de utilizator ca HTTPS-ul obișnuit să continue să funcționeze, referențiază-l din tag-ul application din manifest, apoi recompilează și instalează build-ul de debug. Reinstalarea binarului vechi nu face nimic — încrederea trăiește în aplicația proaspăt compilată.
Configurația de securitate a rețelei doar pentru debug, apoi referința din manifest xml<!-- app/src/main/res/xml/network_security_config.xml --> <network-security-config> <debug-overrides> <trust-anchors> <certificates src="user" /> <certificates src="system" /> </trust-anchors> </debug-overrides> </network-security-config> <!-- AndroidManifest.xml --> <application android:networkSecurityConfig="@xml/network_security_config" ... > - 06
Pornește captura și inspectează
Pornește comutatorul de captură. Android arată pictograma cheie VPN în bara de stare, iar fiecare cerere a telefonului începe să ajungă în feedul dashboardului și în ecranul Network al aplicației — un rând de stare, pastile statistice, cipuri de categorie și o listă grupată pe host cu căutare în partea de jos. Atinge un host, apoi o cerere, pentru detaliul complet: filele General, Header, Summary, Timing și Body atât pentru cerere, cât și pentru răspuns.
Deschide aplicația ta și declanșează un apel. Intrările ei HTTPS arată acum antete lizibile și un corp decriptat în loc de un tunel opac. Când ai terminat, oprește captura — VPN-ul cade, iar certificatul și aplicația pot fi eliminate ca oricare altele.


Ce poate
Majoritatea problemelor pe Android vin de la stricteța platformei cu certificatele, iar feedul îți spune de care te-ai lovit.
Traficul propriei aplicații apare în continuare criptat
Configurația de securitate a rețelei nu a avut efect. Confirmă că ai recompilat și instalat build-ul de debug după ce ai adăugat-o, că manifestul indică fișierul și că certificatul se află în depozitul utilizatorului. Dacă configurația trăiește într-un source set doar de debug, atributul din manifest trebuie să fie și în manifestul de debug.
O aplicație din magazin pe care nu ai compilat-o rămâne opacă
De așteptat pe un telefon fără root: acea aplicație nu a acceptat niciodată certificatele utilizatorului, așa că telefonul înregistrează conexiunea doar ca metadate. Decriptarea ei necesită un dispozitiv cu root unde certificatul poate intra în depozitul de sistem — nivelul folosit de ferma de telefoane — și nici măcar asta nu deschide o aplicație care își fixează propriul certificat.
Solicitarea VPN a Android-ului tot revine
O altă aplicație VPN este activă sau aprobarea anterioară a fost revocată în setările VPN ale sistemului. Doar un VPN poate rula la un moment dat; deconectează-l pe celălalt și aprobă din nou solicitarea din configurarea ghidată.
Notificarea de captură nu a apărut niciodată
Permisiunea pentru notificări a fost refuzată la prima solicitare. Reactiveaz-o pentru Busymate DevTools în setările de aplicații ale sistemului; configurarea ghidată o reverifică și marchează pasul ca finalizat.
Un host este în listă, dar regula pe cale nu se declanșează
Regulile care se potrivesc pe o cale au nevoie ca hostul să fie decriptat; pe un host care trece criptat este vizibil doar numele hostului. Adaugă mai întâi hostul în lista SSL proxy, apoi reverifică regula.
Întrebări
Am nevoie de root?
Nu pentru captură și nu pentru decriptarea propriilor build-uri de debug sau a clienților care au încredere în depozitul utilizatorului. Root-ul este necesar doar pentru a muta certificatul în depozitul de sistem, ca aplicațiile pe care nu le-ai compilat să aibă încredere în el.
Este un proxy în spate?
Nu. Aplicația este înregistrată ca VPN al telefonului, așa că vede traficul fiecărei aplicații pe Wi-Fi și date mobile fără a atinge nicio setare de proxy. Există un proxy de desktop separat pentru browsere și backend-uri, dar acest ghid nu îl folosește niciodată.
Ce se întâmplă cu aplicațiile care nu sunt în lista mea?
Continuă să funcționeze exact ca înainte. Conexiunile lor sunt înregistrate doar ca host și timp și nu sunt niciodată decriptate, iar Ignore Hosts le poate scoate complet din feed pe cele mai zgomotoase.
Traficul aplicației tale,
Instalează aplicația, rulează configurarea ghidată, adaugă configurația de debug dintr-un singur fișier și privește cererile aplicației tale ajungând decriptate.