Cómo analizar el tráfico https de Android 6 emulador con Charles Proxy

Quiero analizar el tráfico https de la aplicación que estoy desarrollando para Android.
Charles Web Debugging Proxy es la herramienta que quiero usar para eso. Tengo el configuartion del sistema siguiente:

  • Mac OS X El Capitan Versión 10.11.5
  • Android Studio 2.1.2
    • Construir # AI-143.2915827, construido el 26 de mayo de 2016
    • Herramientas para Android SDK 25.2.0 rc1
    • Versión de la plataforma: API 24: Android 6.X (N) revisión 2
  • Charles Web Debugging Proxy v 3.11.5 versión de prueba de 30 días

Ya he leído varios puestos en StackOverflow como por ejemplo

  • Problemas con SSL Proxy / Charles y Android
  • Cómo configurar el emulador Android Lollipop con Charles Proxy?

Pero todavía no alcancé mi meta. Caminé por todos los pasos importantes:

  • Certificado raíz Charles instalado y agregado a Max OS X Llavero y confianza
    • Abrir Configuración de Proxy: Proxy -> Proxy Settings, Proxies Tab, marque "Habilitar Proxy HTTP transparente"
    • Abrir Configuración de Proxy SSL: Proxy -> Configuración de Proxy SSL, ficha Proxy SSL, Marque "enable SSL Proxying"
  • Android Emulator se inició en Android Studio Terminal por ~/Library/Android/sdk/tools/emulator -netdelay none -netspeed full -http-proxy <IP_FROM_DEVICE_WITH_CHARLES_PROXY_INSTALLED>:8888 -avd Nexus_5_API_23
  • Certificado instalado desde http://charlesproxy.com/getssl
  • O Certificado guardado por Charles Proxy, convertido a .crt por openssl e instalado en el dispositivo emulado

Puedo leer todo el tráfico http en Charles Proxy sin ningún problema. También puedo leer el tráfico de https, pero Charles sólo lista las direcciones IP. Hay entradas como

 https://173.194.65.188:5228 

Así que las direcciones IP no se resuelven. ¿Cómo obtener URLs reales de https? ¿Tengo que activar el DNS para https en alguna parte?

Yo también encontré que esto era un problema. Mi solución cuando quiero depurar el tráfico de red a través de Charles Proxy, es cambiar al emulador de Genymotion. El emulador Genymotion le dará la url (s) vs. ip (s) en Charles.

En el emulador de Genymotion, configure el nombre de host del proxy Wifi en '10 .0.3.2 'y el puerto Proxy introduzca' 8888 '(* suponiendo que el puerto 8888 es el puerto de escucha que ha configurado en Charles Proxy).

Hay instrucciones que hacen que el emulador de Android funcione con Charles aquí:

https://stackoverflow.com/a/35577864/2832027

Es bastante poco fiable. Es necesario poner el emulador en y fuera del modo de avión si estaba trabajando y luego deja de funcionar.

Estos son los pasos de la publicación anterior:

  1. Inicie el emulador desde el terminal con /{path to your android sdk directory}/tools/emulator -avd Nexus_5X_API_23 -http-proxy http://192.168.2.38:8888 donde el valor -avd es el nombre de su emulador y el -http-proxy value es la dirección IP de Charles: Ayuda> -http-proxy SSL> Instalar el certificado raíz de Charles en un dispositivo móvil o un navegador remoto.

  2. En Charles, debe establecerse lo siguiente: Proxy> Proxies 8888 Enable transparent proxying debe ser comprobado; Proxy> macOS Proxy debe ser comprobado

  3. En el emulador, `Ajustes> Más (Inalámbrico> Redes Celulares> Puntos de Acceso> T-Mobile US (o cualquier otra red disponible) establece Proxy a 10.0.2.2 y puerto a 8888

  4. En el emulador, Settings > Developer Options > Use legacy DHCP cliente Settings > Developer Options > Use legacy DHCP debe estar activado.

  5. En el emulador, active y desactive el modo Avión

Además, vea esto si tiene problemas para que Charles trabaje en Android 7 (API 24) y superior. https://android.jlelse.eu/android-nougat-charlesing-ssl-network-efa0951e66de

  • Agregar herramientas sdk a la ruta en la aplicación de Android Studio
  • Osx maven running tests Excepción: java.lang.OutOfMemoryError lanzado desde el UncaughtExceptionHandler en el subproceso "main"
  • Error al analizar el contenido de Android sdk e inicializar herramientas java en eclipse
  • ¿Cómo configurar IntelliJ para Mac para mostrar la documentación de Java y Android dentro del editor (offline, no en línea)?
  • ¿Cómo puedo resolver un error "Error al leer el contenido firmado." Al instalar ADT 23.0.2 en Eclipse 4.4 en OSX
  • Obtenga el certificado de huella digital SHA1 en Android Studio para Google Maps
  • Cordova / Phonegap Android target: no instalado
  • ¿Por qué PhoneGap / Cordova no está agregando la plataforma android?
  • No puede ver el árbol de origen en android.dmg.sparseimage en mac osx
  • Libgdx ClassNotFoundException al iniciar Desktop main - Mac, IntelliJ
  • Cómo solucionar el error mksdcard en Android Studio Setup en Mac?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.