En este artículo vamos a hablar sobre cómo capturar el tráfico de nuestra aplicación Android y como hacer el debugging con Charles Proxy en Android Emulator. 

 

Debugging con Charles Proxy

 

Desarrollando una aplicación web es inmediato ver y analizar todas las peticiones HTTP que se realizan. Las peticiones del cliente y las respuestas del servidor son fácilmente traceables y reproducibles. En cambio, al trabajar con un dispositivo móvil, tanto físico como virtual, el análisis de este tráfico no es tan trivial.

Por ello vamos a presentar una herramienta de gran utilidad, tanto en este caso que nos concierne en este artículo, como en muchos otros, Charles Proxy.

Podemos utilizarlo para monitorizar todo tráfico HTTP y HTTPS, utilizando para este último certificados que nos proporciona el propio Proxy, que tienen una duración de 24h.

 

Como hacer el set up de Charles Proxy ? 

 

Primero de todo vamos a configurar nuestro Charles Proxy. Para ello, vamos a Proxy dentro del menú y seguimos los siguientes pasos:


Proxy > Proxy Settings: El puerto lo dejamos por defecto y activamos “Enable transparent HTTP Proxying”

 

Proxy > SSL Proxy Settings: Activamos “Enable SSL Proxying” y añadimos una nueva entrada dentro de Locations (Host: *, Port: *)

 

 

Como hacer el set up de Android Emulator ? 

 

Una vez tengamos configurado Charles Proxy, nos vamos a configurar nuestro emulador de Android, para ello, a la hora de lanzarlo, necesitaremos pasarle la IP de nuestro Charles Proxy como variable de entorno (dentro de Charles Proxy: Help > Local IP Address), con un comando parecido al siguiente:

 

emulator -netdelay none -netspeed full -avd <emulador> -http-proxy http://<ip-proxy>:8888


(Si hemos cambiado el puerto por otro a la hora de configurar el Charles, también se debe cambiar el valor del puerto) 

 

Una vez abierto el emulador, vamos a instalar el certificado que nos proporciona Charles Proxy abriendo desde nuestro navegador del móvil la url, autómaticamente nos aparecerá un dialog para instalar un nuevo certificado en el móvil como se muestra en la imagen siguiente:

 

 

Bastaría con ponerle nombre y aceptar la instalación. Una vez realizado todos estos pasos, nos vamos al Charles Proxy, pulsamos el botón de “Start Recording” (O bien desde Proxy > Start Recording) y ya cualquier tráfico HTTP/HTTPS que salga del móvil, os dejo una captura del resultado final:

 

 

Si este artículo te interesó, te puede gustar:

 

Principio de responsabilidad única 

Por qué Kotlin?

Patrón MVP en iOS

F-bound en Scala

Sobre Dioses y procrastinación

Arquitectura de microservicios

Fibers en Nodejs

Simular respuestas del servidor con Nodejs

 

Suscríbete a nuestro newsletter para estar al día de los eventos, meet ups y demás artículos!