¿Cómo interceptar y capturar tráfico HTTPS en dispositivos Android?
Actualización #1: 11 feb 2025 con la nueva versión de Android Studio y el proyecto de ejemplo
1. Interceptar y capturar solicitudes y respuestas HTTP/HTTPS de dispositivos Android físicos
Interceptar tráfico HTTPS en dispositivos Android es más complicado que en iOS. Este mini artículo te explica cómo empezar a interceptar tráfico HTTPS desde dispositivos Android.
Este tutorial cubre lo siguiente:
- Cómo configurar el proxy e instalar el certificado en dispositivos Android
- Cómo interceptar tráfico HTTPS con Proxyman
- Solución de problemas

Este tutorial es para dispositivos Android físicos. Si usas emuladores de Android, consulta Interceptar tráfico HTTPS en emuladores de Android
Proxyman incluye un script automático para el emulador de Android. Puede hacerlo todo con un solo clic. Es más rápido y sencillo.
2.0 Dispositivo Android físico
2.1 Preparación
- Android Studio
- Tu dispositivo Android físico. En este tutorial usaremos un emulador como demostración.
- Descarga esta app de ejemplo para Android
2.1 Guía de configuración de Android
- Abre la app de Proxyman -> menú Certificate -> Install Certificate on Android -> Physical Devices
- En este punto, deberías ver la guía de configuración como se muestra a continuación:

2.2 Configura el proxy Wi-Fi para usar Proxyman
- Abre tu emulador de Android -> app Setting (Ajustes) -> Wi-Fi: asegúrate de que la conexión Wi-Fi funcione bien. A veces aparece "Limited Connection", y en ese caso no puedes configurar el proxy Wi-Fi. Si ocurre, elimina el emulador y crea uno nuevo.

- Toca la red Wi-Fi y luego pulsa el botón Edit en dos lugares


- Configura el proxy HTTP con la misma IP y el mismo puerto que aparecen en la guía de Android (app de Proxyman -> Certificate -> Install Certificate on Android Devices)

Asegúrate de que el nombre de host y el puerto del proxy coincidan con los valores que aparecen en (app de Proxyman -> Certificate -> Install Certificate on Android Devices)
2.3 Descarga e instala el certificado de Proxyman
- Abre Google Chrome en tu emulador de Android
- Visita http://cert.proxyman.io o http://proxy.man/ssl
- Descarga el certificado y selecciona la categoría VPN y app

- Ahora toca instalar el certificado en el almacén de usuario (User Store).
- En tu Android -> abre la app Setting -> Security -> Encryption & Credentials -> Install a Certificate -> CA Certificate -> selecciona el certificado que acabas de descargar -> Install Certificate -> Install (ten en cuenta que esta pantalla puede variar según la versión o el modelo de tu Android)
- Verifica que el certificado de Proxyman esté instalado correctamente en la pestaña User de la pantalla Trusted Credentials

NOTAS:
Si no puedes acceder a http://cert.proxyman.io ni a http://proxy.man/ssl
- Significa que el proxy Wi-Fi no funciona -> apagar y encender el Wi-Fi del emulador puede solucionarlo
- Estás usando una VPN en tu dispositivo Android -> desactívala
- En esta etapa, verifica que todo esté bien antes de pasar a la siguiente
2.4 Inicia el proyecto de ejemplo
- Descarga la app de ejemplo para Android
- Ábrela con Android Studio
- Asegúrate de que la app de Proxyman esté abierta
- Vuelve a iniciar el proyecto de ejemplo en Android Studio y haz clic en el botón GET o POST
- En este punto, verás el tráfico HTTPS en Proxyman -> selecciona el dominio google.com y activa SSL

3. Configuraciones XML
Ten en cuenta que la app de Proxyman no interceptará el tráfico si tus dominios no aparecen en las configuraciones XML.
res/xml/network_security_config.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Proxyman_Sample_OKHTTP_App"
tools:targetApi="31"
android:networkSecurityConfig="@xml/network_security_config">
<activity
android:name=".MainActivity"
android:exported="true"
android:label="@string/app_name"
android:theme="@style/Theme.Proxyman_Sample_OKHTTP_App">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
- Añade esto a AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Proxyman_Sample_OKHTTP_App"
tools:targetApi="31"
android:networkSecurityConfig="@xml/network_security_config">
<activity
android:name=".MainActivity"
android:exported="true"
android:label="@string/app_name"
android:theme="@style/Theme.Proxyman_Sample_OKHTTP_App">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
4. Solución de problemas
Según la versión del emulador de Android y de las APIs, podrías encontrar algunos errores.
-
Después de configurar el proxy Wi-Fi en Android Studio, no pude visitar http://proxy.man/ssl => Intenta reiniciar el emulador y asegúrate de que el estado del Wi-Fi en el emulador sea "Connected" => Elimina tu emulador de Android y crea uno nuevo
-
Obtengo errores SSL al interceptar tráfico HTTPS => A veces, el emulador de Android no carga los certificados de Proxyman => Detén el proyecto y vuelve a iniciarlo. => Asegúrate de que tus dominios aparezcan en res/xml/network_security_config.xml
5. ¿Qué sigue?
- Proxyman tiene un script automático para el emulador de Android. Puede hacerlo todo con un solo clic. Es más rápido y sencillo.

Nota actual sobre Android
En un dispositivo físico, usa la IP del Mac que muestra Proxyman y mantén ambos dispositivos en la misma red. Un certificado instalado en el almacén User de Android puede seguir siendo rechazado por una app, así que tu propia versión de depuración puede usar una configuración de seguridad de red que confíe en los certificados de usuario. No añadas confianza amplia en certificados de usuario a una versión de lanzamiento, y no inspecciones apps que no sean tuyas ni para las que no tengas permiso de prueba.
Proxyman es una app de macOS de alto rendimiento que permite a los desarrolladores capturar solicitudes HTTP/HTTPS de apps y dominios en dispositivos iOS, el simulador de iOS y dispositivos Android.
Descárgala en https://proxyman.com
