Pregunta

Me gustaría utilizar Charles web proxy para trabajar con el emulador de Android en Windows. He creado con éxito charles y he comenzado el emulador con la línea de comandos:

emulator -http-proxy 127.0.0.1:8888 @NexusOne

Me puede ver el tráfico que viene desde el emulador de Android en Charles, pero el problema es que estoy desarrollando en contra de un API en vivo que utiliza SSL y no estoy seguro de cómo configurar Charles a dejarme jugar sobre los cuales los datos es enviado y recibido. Soy consciente de dos áreas en las que SSL está configurado en Charles (proxy -> Configuración de proxy -> SSL y de proxy -> Certificados SSL de clientes) pero no puedo encontrar ninguna documentación decente, que me ha permitido hacer lo que yo quiero hacer . Tiene experiencia a nadie con Charles, o certificados en general, que pueden explicar la forma de lograr esto. Tal vez una cartilla sobre los certificados sería bueno también, como me parece haber perdido el conocimiento de por qué esto es tan difícil.

¿Fue útil?

Solución

En Charles, vaya a Configuración de proxy Proxy >> y seleccione la pestaña SSL. Añadir su anfitrión a la lista de ubicaciones.

Por ejemplo, si su llamada segura va a https://secure.example.com , puede introducir secure.example.com, o * .example.com.

Una vez que el anterior está en su lugar, puede que tenga que hacer clic derecho sobre la llamada en la ventana principal de Carlos y seleccionar la opción SSL proxy.

Espero que esto ayude.

Otros consejos

Para capturar de forma remota tráfico HTTP o HTTPS con charles tendrá que hacer lo siguiente:

HOST - Máquina en marcha de Carlos y el proxy de alojamiento CLIENTE - máquina del usuario que genera el tráfico que va a capturar

Host máquina

  1. Instalar la versión charles con licencia
  2. Proxy -> Configuración de proxy -> verificación “Activar HTTP Proxy transparente”
  3. Proxy -> Configuración de SSL a través de proxy -> verificación “habilitar SSL Proxy”
  4. Proxy -> Configuración de SSL a través de proxy -> haga clic en el botón Agregar e introduzca * en ambos campos
  5. Proxy -> Configuración de control de acceso -> Añadir la subred local (por ejemplo: 192.168.2.0/24) para autorizar todas las máquinas de la red local para utilizar el proxy de otra máquina
  6. Podría ser aconsejable establecer el “ahorro automático de herramientas” de Charles, esta voluntad de ahorro automático y rotar los registros charles.

Máquina Cliente:

  1. Instalar y permanentemente aceptar / Charles confiar en el certificado SSL
    http://www.charlesproxy.com/documentation/using-charles/ssl- certificados /
  2. Configurar Internet Explorer, Firefox y Chrome para utilizar los charles socket se aloja el proxy en (ex: 192.168.1.100:8888)

Cuando probé esto Cogí dos líneas de un Facebook HTTPS Chat (uno era una línea a otra, y la otra de)

También puede capturar el tráfico emulador de Android esta manera si se inicia el emulador con:

emulator -avd <avd name> -http-proxy http://local_ip:8888/

Cuando LOCAL_IP es la dirección IP de su ordenador, no 127.0.0.1 como que es la dirección IP del teléfono emulado.

Fuente: http://brakertech.com/capture-https-traffic -remotely-con-charles /

Por lo que vale aquí son la instrucciones paso a paso para hacer esto en un dispositivo Android. Debe ser el mismo para iOS:

  1. Abrir Charles
  2. Ir al proxy> Configuración de proxy> SSL
  3. Marque “Activar SSL Proxy”
  4. Seleccione “Agregar ubicación” e introduzca el nombre de host y el puerto (si es necesario)
  5. Haga clic en Aceptar y compruebe que la opción está marcada
  6. Descargar el certificado Charles desde aquí: Charles cert>
  7. enviar el fichero a sí mismo en un correo electrónico.
  8. Abra el correo electrónico en el dispositivo y seleccionar el certificado
  9. En “Nombre del certificado” Introduzca lo que quiere
  10. Haga clic en Aceptar y usted debe recibir un mensaje de que el certificado se ha instalado

A continuación, debería ser capaz de ver los archivos SSL en Charles. Si desea interceptar y modificar los valores que puede utilizar la función "Mapa Local", que es realmente impresionante:

  1. En Charles ir a Herramientas> local
  2. Seleccione "Añadir entrada"
  3. Introduzca los valores para el archivo que desea reemplazar
  4. En “Ruta local”, seleccione el archivo que desea la aplicación para cargar lugar
  5. Haga clic en Aceptar
  6. Asegúrese de que se selecciona la entrada y haga clic en Aceptar
  7. Ejecutar su aplicación
  8. Usted debe ver en “Notas” que sus cargas de archivos en lugar de uno en vivo

Las cosas han cambiado un poco en el camino de Charles ofrece HTTPS proxy.

En primer lugar las opciones de instalación de los certificados se han trasladado al menú de ayuda.

Help -> SSL Proxying -> Install Charles Root Certificate
Help -> SSL Proxying -> Install Charles Root Certificate in iOS Simulators

 Charles SSL Proxy

En segundo lugar, a partir de IOS 9 debe proporcionar una opción NSAppTransportSecurity en su Info.plist y si quieres Charles funcione correctamente como un hombre en el medio, debe agregar:

<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>

como parte de los dominios de ver 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 de ser (supongo) que comunica Carlos en algunos puntos en claro http después de actuar como el hombre en el servidor https medio.

El último paso es activar SSL Proxy para este dominio en Charles (clic derecho en dominio y seleccione Habilitar SSL Proxy)

 La función de proxy HTTP permitirá

Lo que funcionó para mí - en realidad debería ser trasladado a iPhone:

Charles

  1. Habilitar transparente Http proxy
  2. Habilitar SSL proxy
  3. Haga clic derecho en la petición de entrada y seleccione SSL proxy

Mac

  1. Descargar certificado de CA de Charles paquete http://www.charlesproxy.com/ssl.zip
  2. enviarse por correo electrónico Charles-proxy-ssl-proxy-certificate.crt

iPhone

  1. Habilitar HTTP proxy para Charles en el puerto 8888
  2. Seleccionar e instalar adjunto de correo electrónico, sí confían en él!

tráfico Voila, ahora se puede ver las encriptado desde el dominio añadido en el proxy SSL

También debe hacer clic en "Instalar Charles CA certificados SSL .." en el menú de Ayuda Charles. Vea las instrucciones más detalladas a http://blog.noodlewerk.com/general/tutorial-using-charles-proxy-to-debug-https-communication-between-server-and-ios-apps/

Estas cosas me ayudó

  1. Ir a Proxy -> configuración de proxy SSL -> Añadir
  2. Añadir el nombre del sitio aquí y dar el número de puerto como 8888

introducir descripción de la imagen aquí introducir descripción de la imagen aquí

  1. Haga clic derecho sobre el nombre del sitio en el panel izquierdo y seleccione "Habilitar La función de proxy SSL" introducir descripción de la imagen aquí

Espero que esto ayude a alguien por allí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top