Quiero capturar todo el tráfico de una aplicación de Android para su prueba de lápiz. ¿Cómo hago eso?
Esto es lo que ya he intentado:
Instalé la aplicación en un emulador e inicié el emulador con un http-proxy
apuntando a un puerto local. El puerto local tenía ZAP corriendo en él. Puedo interceptar el tráfico del navegador pero no de la aplicación.
Bueno, puede ser que mi aplicación use https y pensé que tenía algún problema con el certificado. Así que exporté el certificado OWASP ZAP y push
ed en el emulador de Android. Por supuesto, las versiones de Android > = ICS tienen sus nombres de certificado marcados con OpenSSL. Así que seguí algunas instrucciones aquí y Logré obtener el certificado de mi ZAP en mi dispositivo. Sin embargo, no puedo interceptar el tráfico.
Mi siguiente línea de pensamiento fue: Puede ser que esta aplicación esté dañada. Así que instalé las aplicaciones de Facebook, Pocket y Guardian (noticias) de la tienda de aplicaciones en el emulador e intenté interceptar su tráfico. Puedo interceptar el tráfico de Guardian pero Pocket y Facebook no pueden conectarse a Internet (al igual que mi aplicación). Sin embargo, puedo navegar por Internet desde mi navegador en el emulador.
Honestamente, estoy al final de mi ingenio. No entiendo por qué está sucediendo esto. No he hecho muchas pruebas de pluma antes, así que creo que me falta experiencia. ¿Alguien podría ayudar a esta pobre alma?
(Por supuesto, siempre puedo usar Wireshark, pero no sería capaz de responder a las solicitudes y respuestas de MiTM de la forma en que lo hacen ZAP o Burp).
EDIT:
Después de "Google-ing" como un loco, finalmente descubrí que Android no tiene soporte para proxy global (que funciona tanto para el navegador como para las aplicaciones). Puede encontrar más información aquí .