Capture el tráfico HTTPS con Fiddler en Java
-
Configurar el
Violinista
- Generar un KeyStore
-
Configure el código de la aplicación para capturar el tráfico HTTPS con
Fiddler
-
Configure el
Eclipse
para capturar tráfico HTTPS conFiddler
El Violinista
es una herramienta proxy de depuración web que ayuda a los desarrolladores a depurar aplicaciones web. Permite capturar el tráfico de la red y monitorear los datos entrantes y salientes.
Este artículo nos enseñará a configurar el Fiddler
para capturar tráfico HTTPS. Entonces, los usuarios pueden capturar el tráfico HTTPS con Java sin ningún error.
Configurar el Violinista
Los usuarios deben seguir los pasos a continuación para configurar el Violinista
.
-
Descargue
Fiddler
aquí e instálelo en su computadora local. -
Ahora, asegúrese de que
Fiddler
capture el tráfico HTTPS, como se muestra en la imagen a continuación. -
A continuación, abre las
Herramientas
>Opciones
. Aparecerá un cuadro de diálogo. Vaya a la pestañaConexiones
. -
Ahora, asegúrese del valor del campo de texto
Fiddler escucha en el puerto
, que usaremos en nuestro código Java. El valor por defecto es8888
. -
En el cuadro de diálogo “Opciones”, vaya a la pestaña
HTTPS
y asegúrese de que “Capturar conexiones HTTPS” y “Descifrar tráfico HTTPS” estén marcados. Además, seleccione... de todos los procesos
en el menú desplegable deDescifrar tráfico HTTPS
. -
A continuación, instale el certificado.
-
Como paso final, en la pestaña
HTTPS
del cuadro de diálogoOpciones
, haga clic en el botónAcciones
y seleccioneExportar certificado raíz al escritorio
para exportar el certificado en el escritorio de su dispositivo.
Generar un KeyStore
Debemos generar un KeyStore con el certificado que hemos exportado al escritorio.
-
Ejecute el
Símbolo del sistema
como administrador. -
Los usuarios deben ingresar el siguiente comando en la terminal para encontrar el directorio raíz.
echo %JAVA_HOME%
-
Dentro de la terminal, vaya al directorio raíz de Java que obtuvo en el paso anterior.
-
A continuación, vaya a la carpeta
bin
del directorio de Java usando el comandocd bin
en elcmd
. -
Ejecute el siguiente comando en la terminal.
keytool.exe -import -file C:\Users\\\Desktop\\FiddlerRoot.cer -keystore FiddlerKeystore -alias Fiddler
-
Ingrese la contraseña, y luego debe confirmarla volviendo a ingresarla.
-
Pulse
y
para responder aConfiar en este certificado
.
Configure el código de la aplicación para capturar el tráfico HTTPS con Fiddler
Hemos configurado el Fiddler
y generado un KeyStore con el certificado. Los usuarios deben agregar el siguiente código a la aplicación para capturar el tráfico HTTPS con Java.
// To capture HTTPS traffic
System.setProperty("https.proxyHost", "127.0.0.1");
System.setProperty("https.proxyPort", "8888");
// To capture HTTP traffic
System.setProperty("http.proxyHost", "127.0.0.1");
System.setProperty("http.proxyPort", "8888");
Además, los usuarios pueden usar el localhost
en lugar de 127.0.0.1
. Si los usuarios quieren usar un puerto diferente al 8888
, también necesitan cambiar el puerto dentro del Fiddler
, que hemos explicado en la sección Configurar Fiddler
.
Configure el Eclipse
para capturar tráfico HTTPS con Fiddler
Si los usuarios desean configurar el IDE Eclipse
para capturar el tráfico HTTPS en lugar de agregar el código a la aplicación, deben seguir los pasos a continuación.
-
Vaya a
Ejecutar
>Ejecutar configuraciones
en la barra de menú. -
Desde la barra lateral del cuadro de diálogo
Ejecutar configuraciones
, elija un proyecto y vaya a la pestañaArgumentos
. -
Introduzca los siguientes argumentos en la sección
Argumentos de VM
.-DproxySet=true -DproxyHost=127.0.0.1 -DproxyPort=8888 -Djavax.net.ssl.trustStore="path\to\java_home\bin\FiddlerKeyStore" -Djavax.net.ssl.trustStorePassword="password_used_during_keystore_creation"
-
Ahora, haga clic en el botón
Aplicar
y presione el botónEjecutar
.
Hemos configurado con éxito el Fiddler
para capturar el tráfico HTTPS en este artículo. Además, hemos generado KeyStore utilizando el certificado fiddler.
Después de eso, tenemos dos opciones para capturar el tráfico HTTPS mediante una aplicación Java. El usuario puede configurar Eclipse o agregar código al código de la aplicación.