ZAP és una eina d'OWASP que ens permet proxificar les comunicacions i inspeccionar el seu contingut.
Podeu descarregar aquesta simple aplicació extreta de l'article Android threads per realitzar una crida a una API externa per HTTPS:
$ git clone https://github.com/iocpro/android-simple-com
Obrirem l'aplicació amb Android Studio i la posarem en marxa a l'emulador.
Per tal de poder llegir les comunicacions caldrà instal·lar els certificats de ZAP dins de les CAs de confiança de l'emulador:
Tools -> Options -> Network -> Server Certificates
zap_root_ca.cer
)Device Manager -> menú VM (3 punts) -> Open in Device Explorer
Documents
:/sdcard/Documents -> Botó dret -> Upload -> zap_root_ca.cer
Settings -> Security -> More Security Settings -> Encryption and Credentials -> Install a Certificate -> CA Certificate -> Install Anyway
Menu -> SD Card -> Documents -> zap_root_ca.cer
Ens hauria de dir «CA installed».
Consulta a quin port escolta ZAP les comunicacions:
Tools -> Options -> Network -> Local Servers / Proxies -> Main Proxy
Per defecte sol ser localhost:8080
Anem a l'emulador i configurem el proxy:
Settings -> Network & Internet -> Internet -> Wi-Fi -> Network Details -> Edit -> Advanced Options -> Proxy -> Manual
Proxy Settings:
És possible que calgui forçar les comunicacions del mòbil a través de la Wifi (que son les comunicacions que hem proxificat), deshabilitant les comunicacions de la xarxa mòbil. Per a aconseguir-ho, anar a la configuració de
Settings -> Network & Internet -> Internet -> SIMs -> T-Mobile -> Mobile Data -> Off
En algunes configuracions de sistema operatiu potser falla l'emulador a l'utilitzar el browser Google Chrome. Si es donés el cas, instal·lar una VM Android sense Google APIs i fer servir WebView enlloc de Chrome.