Serie de tutoriales de nivel de niñera de "Blast Liver Tidying" - Jugando con Charles Packet Grabber Artifact Tutorial (6) - El secreto de Charles Android Phone Packet Capture

1. Introducción

Al igual que Fiddler, Charles no solo puede interceptar solicitudes HTTP enviadas por varios navegadores, sino también interceptar solicitudes HTTP/HTTPS enviadas por varios teléfonos inteligentes.

Charles también puede interceptar solicitudes HTTP/HTTPS de dispositivos como Android y Windows Phone.

Hoy, el hermano Hong explica y comparte cómo Charles intercepta solicitudes HTTP/HTTPS enviadas por terminales móviles Android.

2. Preparación del entorno

Si Charles quiere implementar la captura de paquetes de teléfonos móviles, primero se deben cumplir las siguientes tres condiciones:

(1) La herramienta de captura de paquetes Charles está instalada en la computadora.

(2) La computadora con Charles instalado debe estar en la misma red que el teléfono móvil, y el proxy de la red del teléfono móvil debe estar configurado para Charles. Cuando nuestro teléfono móvil envía datos, debe pasar por la capa de servicio de Charles.

(3) Configure la captura de HTTPS en Charles.

1. El entorno de Hongge es el sistema Windows 10 versión de 64 bits. Como se muestra abajo:

 Si desea aprender a probar la automatización de la interfaz, aquí le recomiendo una serie de videos. Se puede decir que este video es el tutorial de prueba de automatización de la interfaz número uno en toda la red en la estación B. Al mismo tiempo, el número de en línea usuarios ha llegado a 1.000, y hay notas para coleccionar y usar Intercambios técnicos de varios maestros: 798478386    

[Actualizado] La colección más detallada de tutoriales prácticos para pruebas automatizadas de interfaces de Python impartidas por la estación B (la última versión de combate real)_哔哩哔哩_bilibili [Actualizado] La colección más detallada de tutoriales prácticos para pruebas automatizadas de Python interfaces impartidas por la estación B (combate real) La última versión) tiene un total de 200 videos, que incluyen: 1. [Automatización de interfaz] La situación actual del mercado de pruebas de software y los estándares de capacidad de los probadores. , 2. [Automatización de interfaz] Totalmente capacitado en la biblioteca de solicitudes y la lógica de llamada de método subyacente, 3. [Automatización de interfaz] combate de automatización de interfaz y la aplicación de expresiones regulares y extractores JsonPath, etc. Para videos más emocionantes, preste atención a la cuenta UP. https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337&vd_source=488d25e59e6c5b111f7a1a1a16ecbe9a 

2. La versión de Android del Yeshen Simulator es: 5.1.1. Como se muestra abajo:

3. Pasos generales de la idea

1. Instale el certificado charles localmente en la computadora

2. Verifique la IP y el número de puerto de la computadora charles

3. El teléfono móvil se conecta a charles, toma http simple

4. charles establece la configuración del proxy ssl

5. Instale el certificado de charles en el teléfono móvil

4. ¿Por qué necesito instalar el certificado CA de Charles?

1) Primero aclarar algunas cosas conceptuales:

a) En pocas palabras, https es una versión segura de http. El protocolo de transferencia de hipertexto http envía datos en texto sin formato, mientras que https es un protocolo de transmisión cifrado seguro ssl. Se puede considerar que https = http + ssl.

b) El servidor que utiliza https debe solicitar un certificado a la CA para acreditar el tipo de uso del servidor, el certificado es único y solo se utiliza para el servidor correspondiente. Si el cliente quiere reconocer si el servidor es seguro y puede realizar operaciones como acceso o transacciones, necesita verificar el servidor.

La siguiente figura muestra el proceso de verificación del cliente al servidor:

c) El certificado ssl sigue el protocolo ssl y establece un canal seguro ssl entre el cliente y el servidor Generalmente, los certificados ssl se emiten al cliente después de verificar la identidad del servidor.

d) Dado que la tecnología ssl se ha establecido en todos los principales navegadores y programas de servidor web, el protocolo ssl solo se puede activar instalando el certificado del servidor, por lo que al confiar en el certificado, el cliente equivale a confiar en el host (servidor).

La siguiente figura muestra el proceso de comunicación cifrada entre el cliente y el servidor:

2) Después de la simple racionalización anterior, es por eso que necesitamos instalar un certificado cuando usamos Charles para capturar paquetes. Podemos usar la clave privada en el certificado digital SSL para decodificar la información cifrada, que se muestra en Charles, pero Charles tiene un lugar especial, es decir, el cliente instala el certificado CA de Charles y luego Charles instala el certificado CA del servidor. De hecho, el proceso sigue siendo el mismo.

5. Configuración de captura de paquetes de teléfonos móviles Android

5.1 Configuración http de Charles PC

http está configurado por defecto. Si no está configurado después de la instalación predeterminada, lo configuraremos nosotros. El número de puerto predeterminado es "8888".

Configuración de Charles: Esto es para habilitar la función de proxy, los pasos específicos son los siguientes:

1. Inicie Charles, haga clic en "Proxy-->Configuración de proxy", luego complete el puerto (8888) en Configuración de proxy y marque "Habilitar proxy HTTP transparente" y finalmente haga clic en "Aceptar". Como se muestra abajo:

2. Para ver la dirección IP de la computadora que ejecuta Charles, puede ejecutar ipconfig en la línea de comando o ver directamente la configuración de la red, como se muestra en la siguiente figura:

 

 

3. Puede verificar si la dirección IP en el Charles actualmente instalado es consistente. Puede verificar directamente la IP y el puerto de Charles en Charles, hacer clic en "Ayuda--> Proxy SSL" y luego hacer clic en "Instalar certificado raíz de Charles en un Dispositivo móvil o navegador remoto", como se muestra a continuación:

5.2Configuración de SSL del lado de la PC de Charles (https)

Independientemente de si la computadora o el terminal móvil toma el paquete Https, debe instalar el certificado correspondiente antes de usarlo. Los pasos específicos de la operación son los siguientes:

1. Abra charles, haga clic en ayuda-->Proxy SSL-->Instalar certificado raíz de Charles para instalar el certificado, como se muestra en la siguiente figura:

2. Después de hacer clic en "Instalar certificado raíz de Charles", luego haga clic en "Instalar certificado", como se muestra en la siguiente figura:

3. Después de hacer clic en "Instalar certificado", seleccione la ubicación de almacenamiento "Computadora local" y haga clic en "Siguiente", como se muestra en la siguiente figura:

4. Para la ubicación de almacenamiento del certificado, seleccione 'Colocar todos los certificados en el siguiente almacenamiento', luego haga clic en "Examinar" después del almacenamiento del certificado, seleccione "Autoridades de certificación raíz de confianza" para el almacenamiento del certificado y haga clic en "Aceptar", como se muestra en la figura de abajo:

5. Haga clic en "Siguiente", como se muestra en la siguiente figura:

6. Haga clic en "Finalizar", lo que indica que la importación se realizó correctamente. Como se muestra abajo:

7. Haga clic en proxy > Configuración de proxy SSL. Como se muestra abajo:

8. Abra la interfaz de la siguiente manera y obtenga lo mismo que yo. Si no hay *; 443, presione agregar para agregar manualmente host: *, puerto: 443. Como se muestra abajo:

De esta manera, puede tomar los paquetes de tipo http y https en el lado de la PC, y luego configuraremos el proxy en el lado del teléfono Android.

5.3 Configuración del teléfono Android

Esta sección se aplica a todos los dispositivos Android. Tomemos el Simulador Yeshen como ejemplo para explicar. Los métodos de operación de otras marcas de simuladores y teléfonos móviles reales son similares. Los pasos específicos de la operación son los siguientes:

1. Después de confirmar que el teléfono móvil y Charles están en la misma red de área local, vamos a la opción de configuración del teléfono móvil Android y buscamos la WLAN actualmente conectada al teléfono móvil del simulador Yeshen (para algunos teléfonos móviles Android, haga clic en la flecha a la derecha, y para algunos teléfonos móviles Android, presione y mantenga presionado para abrir el cuadro de diálogo), como se muestra a continuación:

2. Cuando vea una señal wifi, mantenga presionada la señal y aparecerá una ventana emergente para modificar la red. Como se muestra abajo:

3. Haga clic en Modificar red, seleccione la opción avanzada, abra la opción avanzada, configure el proxy en manual, complete la IP de la computadora para el nombre de host del servidor proxy y complete el número de puerto como el puerto de escucha del herramienta de captura de paquetes de host. Como se muestra abajo:

4. Haga clic en Guardar para completar correctamente la configuración del proxy. Como se muestra abajo:

 

5. La computadora muestra un mensaje para permitir el proxy, haga clic en Permitir, como se muestra en la siguiente figura:

 

Así que este es el final de la configuración del proxy de red para teléfonos Android. La configuración de otros modelos diferentes de emuladores de Android y teléfonos reales es similar, y así sucesivamente. Si realmente no lo sabe, puede Baidu. Ir aquí significa que ya puede obtener el paquete de teléfono móvil de http.

5.4 Prueba Charles para capturar el HTTP enviado por el teléfono móvil

1. Abra el navegador en el teléfono móvil e ingrese el enlace en el navegador: http://open.vipexam.org. El sitio web de la base de datos de recursos de aprendizaje del examen VIPExam de Zhongke utiliza el protocolo HTTP en lugar del protocolo HTTPS. Compruebe si Fiddler ha capturado el paquete HTTP. Como se muestra abajo:

 

2. Abra la aplicación en el teléfono móvil, realice algunas operaciones en la aplicación y verifique si Fiddler puede capturar paquetes HTTP. Como se muestra abajo:

 

Si no se puede detectar el paquete HTTP, es probable que se trate de un problema con el cortafuegos de Windows y vuelva a intentarlo después de cerrar el cortafuegos en el panel de control.

5.5 Pruebe Fiddler para capturar HTTPS enviados por teléfono móvil

1. Abra el navegador en el teléfono móvil, ingrese el protocolo HTTPS en el navegador y verifique si Charles ha capturado el paquete de datos HTTPS. He estado informando errores de advertencia de seguridad del certificado y no se puede capturar. Por lo tanto, necesitamos instalar el certificado. El motivo es que el hermano Hong ya lo mencionó al capturar el paquete de la página web del lado de la PC, por lo que no entraré en detalles aquí. . Como se muestra abajo:

 2. Abra la aplicación en el teléfono móvil, realice algunas operaciones en la aplicación y verifique si Fiddler puede capturar paquetes HTTPS. Desconocido apareció de nuevo, como se muestra en la siguiente figura:

En este punto, sabemos que si queremos obtener los datos Https en el teléfono móvil, debemos devolver el certificado de configuración. No es necesario preguntar sobre el certificado, fue emitido por Charles.

5.6 Certificado de configuración de teléfono móvil Android

A través de la prueba anterior de Brother Hong, sabemos que al capturar paquetes de datos de teléfonos móviles con Android, es lo mismo que el terminal web, y los certificados deben configurarse; de ​​lo contrario, la captura de paquetes no se puede realizar normalmente. El servicio proxy de Charles se ha configurado anteriormente en nuestro teléfono móvil Android, por lo que ahora podemos acceder a Charles a través de ip+port para descargar el certificado correspondiente. Los pasos específicos de la operación son los siguientes:

1. Abra el navegador (integrado) en el teléfono Android e ingrese: http://chls.pro/ssl  para descargar el certificado. Si no sucede nada inesperado, aparecerá la siguiente interfaz:

 

2. Nombre el certificado: CharlesRoot, haga clic en "Aceptar", como se muestra en la siguiente figura:

 

3. Después de hacer clic en "Aceptar", debe ingresar la contraseña para el almacén de credenciales. Como se muestra abajo:

4. Vuelva a hacer clic en "Aceptar" y se le solicitará que configure una contraseña de pantalla de bloqueo (Nota: después de seleccionar el archivo para instalar, debe ingresar la contraseña de la pantalla de bloqueo del teléfono. Android debe tener una contraseña de pantalla de bloqueo para instalar el certificado) , como se muestra en la siguiente figura:

5. Haga clic en Aceptar. Configure una contraseña de teléfono móvil según sea necesario, configure una usted mismo y solo recuerde la contraseña. Finalmente, no necesita ir a System-Security-Password para eliminarla, como se muestra en la figura a continuación:

6. Después de completar la contraseña de la pantalla de bloqueo, se le indicará que se ha instalado el certificado.Después de que el certificado se haya instalado correctamente, si el sistema de su teléfono móvil no ha establecido una contraseña o un patrón de pantalla de bloqueo, el sistema le pedirá que establezca un bloqueo patrón de pantalla o contraseña. Como se muestra abajo:

 

 

7. Después de instalar el certificado, compruebe el certificado de confianza: la ubicación específica está en [Configuración--->Seguridad--->Credenciales de confianza--->Usuario], como se muestra en la siguiente figura:

6. Inicie la captura de Android

Mediante la configuración anterior ya podemos empezar a capturar el paquete https del teléfono Android.

1. Abra el navegador en el teléfono móvil e ingrese un sitio web con protocolo HTTPS en el navegador, por ejemplo: Baidu. Como se muestra abajo:

 

7. Resumen

 Al igual que Charles y Fiddler, se pueden instalar varios certificados en un teléfono móvil, pero cada certificado instalado se configura con una dirección IP, por lo que: el certificado instalado y la IP de la computadora tienen una correspondencia uno a uno, y el certificado actual solo puede ser usado para uno determinado Si se usa la computadora, el certificado no se puede usar después de reemplazar la computadora, y solo se puede usar reinstalando el certificado con la misma IP que la computadora reemplazada.

Por cierto, la versión de Android 7.0 se introdujo en detalle en Fiddler, pero la herramienta se cambió y los principios son similares, por lo que no la presentaré aquí ni más adelante. Además, las configuraciones introducidas aquí son básicamente las mismas que las de Fiddler para capturar teléfonos Android, por varias razones, las repetiré aquí nuevamente. Hazlo con eso.

 

 

Je suppose que tu aimes

Origine blog.csdn.net/m0_73409141/article/details/131811162
conseillé
Classement