not - configure charles proxy android
¿Cómo configurar certificados SSL con Charles Web Proxy y el último Android Emulator en Windows? (7)
Me gustaría usar el proxy web de Charles para trabajar con el emulador de Android en Windows. He configurado satisfactoriamente charles y he iniciado el emulador con la línea de comando:
emulator -http-proxy 127.0.0.1:8888 @NexusOne
Puedo ver el tráfico procedente del emulador de Android en Charles, pero el problema es que estoy desarrollando una API en vivo que utiliza SSL y no estoy seguro de cómo configurar Charles para que me permita jugar sobre los datos que se envían y recibido. Conozco dos áreas donde SSL está configurado en Charles (Proxy -> Proxy Settings -> SSL y Proxy -> Client SSL Certificates) pero no puedo encontrar ninguna documentación decente que me permita hacer lo que quiero hacer. . Alguien ha tenido experiencia con Charles, o certificados en general, que pueden explicar cómo lograr esto. Tal vez una cartilla sobre certificados también sería buena, ya que me parece que me falta conocimiento sobre por qué es tan difícil.
En Charles, vaya a Proxy >> Proxy Settings y seleccione la pestaña SSL. Agregue su host a la lista de Ubicaciones.
Por ejemplo, si su llamada segura va a https://secure.example.com , puede ingresar secure.example.com, o * .example.com.
Una vez que lo anterior esté en su lugar, es posible que deba hacer clic con el botón derecho en la llamada en la ventana principal de Charles y seleccionar la opción SSL Proxying.
Espero que esto ayude.
Las cosas han cambiado un poco en la forma en que Charles proporciona proxies HTTPS.
Primero, las opciones de instalación de certificados se han movido al menú de ayuda.
Help -> SSL Proxying -> Install Charles Root Certificate
Help -> SSL Proxying -> Install Charles Root Certificate in iOS Simulators
En segundo lugar, a partir de iOS 9 debe proporcionar una opción NSAppTransportSecurity
en su Info.plist
y si desea que Charles funcione correctamente como un hombre en el medio, debe agregar:
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>
como parte de tus dominios, mira el ejemplo completo:
<key>NSExceptionDomains</key>
<dict>
<key>yourdomain.com</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSTemporaryExceptionMinimumTLSVersion</key>
<string>TLSv1.1</string>
</dict>
La razón es (supongo) que Charles en algún momento se comunica en un claro http después de actuar como el hombre en el servidor https medio.
El último paso es activar SSL Proxying para este dominio en Charles (haga clic derecho en el dominio y seleccione Enable SSL Proxying)
Lo que funcionó para mí - realmente debería ser movido a iPhone:
Charles
- Habilite el proxying Http transparente
- Habilitar proxying SSL
- Haga clic derecho en la solicitud entrante y seleccione SSL proxying
Mac
- Descargar el paquete Charles CA Certificate http://www.charlesproxy.com/ssl.zip
- Envíe un correo electrónico a usted mismo charles-proxy-ssl-proxying-certificate.crt
iPhone
- Habilitar proxy HTTP para Charles en el puerto 8888
- Seleccione e instale el archivo adjunto de correo electrónico, ¡sí, confíe en ello!
Voila, ahora puede ver el tráfico cifrado desde el dominio agregado en el proxy SSL
Para capturar de manera remota el tráfico http o https con charles, deberá hacer lo siguiente:
HOST - Máquina que ejecuta Charles y que aloja al proxy CLIENTE - Máquina del usuario que genera el tráfico que capturará
Máquina host
- Instalar la versión de Charles completamente licenciada
- Proxy -> Proxy Settings -> verifique "Habilitar HTTP transparente Proxying"
- Proxy -> Configuraciones de proxy SSL -> marca "habilitar SSL Proxying"
- Proxy -> Configuración de proxy SSL -> haga clic en el botón Agregar e ingrese * en ambos campos
- Proxy -> Configuración de control de acceso -> Agregue su subred local (por ejemplo, 192.168.2.0/24) para autorizar a todas las máquinas de su red local a usar el proxy de otra máquina
- Puede ser aconsejable configurar la "herramienta de guardado automático" en charles, esto guardará automáticamente y rotará los registros de charles.
Cliente máquina:
- Instalar y aceptar permanentemente / confiar en el certificado SSL de Charles
http://www.charlesproxy.com/documentation/using-charles/ssl-certificates/ - Configure IE, Firefox y Chrome para usar el socket. Charles está alojando el proxy (ej: 192.168.1.100:8888)
Cuando probé esto, recogí dos líneas de un chat de HTTPS de Facebook (una era una línea PARA alguien, y la otra DESDE)
también puede capturar el tráfico del emulador de Android de esta manera si inicia el emulador con:
emulator -avd <avd name> -http-proxy http://local_ip:8888/
Donde LOCAL_IP es la dirección IP de su computadora, no es 127.0.0.1 ya que esa es la dirección IP del teléfono emulado.
Fuente: http://brakertech.com/capture-https-traffic-remotely-with-charles/
Por lo que vale aquí, están las instrucciones paso a paso para hacer esto en un dispositivo Android. Debería ser el mismo para iOS:
- Charles abierto
- Vaya a Proxy> Configuración de Proxy> SSL
- Marque "Habilitar proxies SSL"
- Seleccione "Agregar ubicación" e ingrese el nombre de host y el puerto (si es necesario)
- Haga clic en Aceptar y asegúrese de que la opción esté marcada
- Descargue el certificado de Charles de aquí: Charles cert>
- Envíele ese archivo en un correo electrónico.
- Abra el correo electrónico en su dispositivo y seleccione el certificado
- En "Nombre del certificado" ingresa lo que quieras
- Haga clic en Aceptar y debería recibir un mensaje que indique que se instaló el certificado
Debería poder ver los archivos SSL en Charles. Si quiere interceptar y cambiar los valores, puede usar la herramienta "Localizar mapa" que es realmente impresionante:
- En Charles vaya a Herramientas> Mapa Local
- Seleccione "Agregar entrada"
- Ingrese los valores para el archivo que desea reemplazar
- En "Ruta local", seleccione el archivo que desea que cargue la aplicación en su lugar
- Haga clic en Aceptar
- Asegúrese de que la entrada esté seleccionada y haga clic en Aceptar
- Ejecuta tu aplicación
- Debería ver en "Notas" que su archivo carga en lugar del vivo
También debe hacer clic en "Instalar certificados CA Charles CA" en el menú Ayuda de Charles. Consulte las instrucciones más detalladas en http://blog.noodlewerk.com/general/tutorial-using-charles-proxy-to-debug-https-communication-between-server-and-ios-apps/