Fiddler es un proxy de depuración web gratuito que permite a desarrolladores y profesionales de la seguridad capturar, inspeccionar, modificar y reproducir tráfico HTTP/HTTPS entre un cliente (como un navegador web o una aplicación) y un servidor en un sistema Windows. Opera posicionándose como un intermediario, interceptando todas las solicitudes y respuestas de red que pasan a través de él, proporcionando un control granular y visibilidad sobre las comunicaciones web.
Configuración de Fiddler como su Proxy
Instalación
Fiddler Classic se puede descargar desde su página oficial de Telerik. La instalación implica un asistente de configuración estándar de Windows. Al iniciar por primera vez, Fiddler normalmente se configura como el proxy del sistema.
Configuración de Proxy Predeterminada de Fiddler
Por defecto, Fiddler escucha en 127.0.0.1:8888. Cuando Fiddler se inicia, modifica automáticamente la configuración del proxy del sistema de Windows para dirigir el tráfico a través de esta dirección. Cuando Fiddler se cierra, generalmente restaura la configuración original del proxy del sistema. Esta configuración automática simplifica su uso para la depuración web general.
Captura de Tráfico HTTPS
Para inspeccionar el tráfico HTTPS, Fiddler debe descifrarlo. Esto requiere instalar el certificado raíz de Fiddler en el almacén de certificados de confianza del sistema.
- Navegue a
Tools > Options > HTTPS. - Habilite
Capture HTTPS CONNECTs. - Habilite
Decrypt HTTPS traffic. - Haga clic en
Actionsy luego enTrust Root Certificate. Confirme cualquier aviso de seguridad.
Una vez que el certificado es de confianza, Fiddler puede realizar un ataque de intermediario (man-in-the-middle) en conexiones HTTPS, generando certificados temporales para cada dominio interceptado, firmados por su raíz de confianza. Los clientes configurados para confiar en el certificado raíz de Fiddler enviarán entonces el tráfico a través de Fiddler sin advertencias de seguridad.
Integración de Fiddler con un Proxy Ascendente Externo
Las organizaciones a menudo utilizan proxies corporativos para la seguridad de la red, el filtrado de contenido o el control de acceso. Fiddler se puede configurar para reenviar su tráfico capturado a través de dicho proxy ascendente. Esto permite depurar aplicaciones detrás de un proxy corporativo sin eludir la infraestructura de seguridad.
Configuración de Fiddler para Usar un Proxy Ascendente
Para encadenar Fiddler con un proxy existente:
- Navegue a
Tools > Options > Gateway. - Elija una de las siguientes opciones:
- Use System Proxy: Fiddler intentará usar la configuración de proxy configurada a nivel del sistema operativo (por ejemplo, en la configuración de LAN de Internet Explorer). Este es el comportamiento predeterminado.
- Manual Proxy Configuration: Especifique un proxy ascendente personalizado.
- Seleccione
Manual Proxy Configuration. - Ingrese la dirección y el puerto del proxy en el formato
hostname:portoIP_address:port. - Ejemplo:
corporateproxy.example.com:8080. - Si el proxy ascendente requiere autenticación, marque
Authenticate with upstream proxyy proporcione las credenciales.
- Seleccione
- Haga clic en
OKpara aplicar los cambios.
Comportamiento de Encadenamiento de Proxy de Fiddler
Cuando Fiddler utiliza un proxy ascendente, el flujo de tráfico se convierte en:
Cliente (ej. Navegador) -> Fiddler (127.0.0.1:8888) -> Proxy Ascendente -> Internet
Fiddler realiza sus funciones de captura y descifrado, luego reenvía la solicitud (potencialmente re-encriptada) al proxy ascendente configurado. El proxy ascendente luego maneja el enrutamiento al destino final. Este encadenamiento añade un salto adicional, lo que puede introducir una latencia menor.
Análisis de Tráfico con Fiddler
La Lista de Sesiones
La interfaz principal muestra una lista de sesiones capturadas. Cada fila representa una solicitud HTTP/HTTPS y su respuesta correspondiente. Las columnas clave incluyen:
* Result: Código de estado HTTP.
* Protocol: HTTP o HTTPS.
* Host: Nombre de host del servidor de destino.
* URL: URL completa de la solicitud.
* Body: Tamaño del cuerpo de la respuesta.
* Caching: Directivas de caché.
Inspectores
La pestaña Inspectores proporciona vistas detalladas de las solicitudes y respuestas seleccionadas.
- Inspectores de Solicitudes:
- Headers: Muestra todos los encabezados de la solicitud HTTP.
- WebForms: Muestra los datos de formulario codificados en URL.
- Raw: Presenta la solicitud HTTP cruda completa.
- JSON/XML: Vista formateada para cuerpos de solicitud JSON/XML.
- Inspectores de Respuestas:
- Headers: Muestra todos los encabezados de la respuesta HTTP.
- TextView: Vista de texto plano del cuerpo de la respuesta.
- ImageView: Renderiza respuestas de imagen.
- Raw: Presenta la respuesta HTTP cruda completa.
- JSON/XML: Vista formateada para cuerpos de respuesta JSON/XML.
AutoResponder
La pestaña AutoResponder permite interceptar solicitudes y responder con archivos locales o datos personalizados sin contactar al servidor. Esto es útil para:
* Simular APIs: Simular respuestas del servidor para desarrollo y pruebas.
* Probar condiciones de error: Devolver códigos de estado HTTP específicos.
* Modificar contenido: Inyectar archivos JavaScript o CSS locales.
Las reglas se pueden definir usando coincidencias exactas, comodines o expresiones regulares.
Composer
La pestaña Composer permite a los usuarios crear y ejecutar manualmente solicitudes HTTP. Esto es útil para:
* Reproducir solicitudes: Volver a enviar una solicitud previamente capturada, potencialmente con modificaciones.
* Probar puntos finales de API: Enviar solicitudes personalizadas para verificar el comportamiento de la API.
* Fuzzing: Enviar repetidamente solicitudes con parámetros variados.
Los usuarios pueden modificar la URL, los encabezados y el cuerpo de la solicitud antes de ejecutarla.
Filtros
La pestaña Filtros permite filtrar la lista de sesiones para centrarse en el tráfico relevante.
* Hosts: Mostrar u ocultar tráfico a nombres de host específicos.
* Processes: Filtrar el tráfico por el proceso de Windows de origen (por ejemplo, solo mostrar el tráfico de chrome.exe).
* URL Content: Ocultar sesiones donde la URL contiene cadenas específicas.
* Status Codes: Mostrar solo sesiones con ciertos códigos de estado HTTP.
Ejemplo de filtro para mostrar solo el tráfico de un host específico:
// En la sección 'Hosts', marque 'Show only traffic from the following Hosts'
// Añada 'example.com' a la lista.
Casos de Uso Comunes para el Análisis de Proxy
Depuración de Aplicaciones Web
Fiddler ayuda a diagnosticar problemas como:
* Parámetros de solicitud enviados incorrectamente.
* Respuestas del servidor o códigos de error inesperados.
* Encabezados HTTP faltantes o mal formados.
* Problemas de intercambio de recursos de origen cruzado (CORS).
Pruebas de Seguridad
- Análisis del Flujo de Autenticación: Interceptar solicitudes de inicio de sesión para verificar la transmisión segura de credenciales.
- Identificación de Vulnerabilidades: Detectar datos sensibles no cifrados, encabezados HTTP inseguros o configuraciones erróneas.
- Gestión de Sesiones: Analizar atributos de cookies y uso de tokens de sesión.
Optimización del Rendimiento
- Carga de Recursos: Identificar activos grandes, tiempos de carga lentos o estrategias de caché ineficientes (por ejemplo, encabezados
Cache-Controlfaltantes). - Sobrecarga de Solicitudes: Examinar el número y tamaño de las solicitudes para optimizar la utilización de la red.
Desarrollo y Pruebas de API
- Inspección de API: Comprender cómo una aplicación interactúa con sus APIs de backend.
- Simulación de API: Usar AutoResponder para simular varias respuestas de API para el desarrollo del lado del cliente.
- Validación de Puntos Finales: Usar Composer para probar puntos finales de API con diferentes cargas útiles y parámetros.
Fiddler vs. Otras Herramientas de Proxy
| Característica | Fiddler Classic (Windows) | Burp Suite Community (Multiplataforma) | Charles Proxy (Multiplataforma) |
|---|---|---|---|
| Enfoque Principal | Depuración web general, desarrollo, rendimiento. | Pruebas de seguridad web, pruebas de penetración. | Depuración web general, desarrollo, rendimiento. |
| Costo | Gratuito | Gratuito (Edición Community), Pago (Edición Profesional) | Pago (Prueba disponible) |
| Soporte de SO | Windows | Windows, macOS, Linux | Windows, macOS, Linux |
| Descifrado HTTPS | Sí, con instalación de certificado raíz. | Sí, con instalación de certificado raíz. | Sí, con instalación de certificado raíz. |
| Características Clave | AutoResponder, Composer, Filtros, Inspectores extensivos. | Proxy, Intruder, Repeater, Sequencer, Decoder, Scanner (Pro). | Proxy, Rewrite, Map Local/Remote, Throttling, DNS spoofing. |
| Scripting | FiddlerScript (JScript.NET) para reglas y extensiones personalizadas. | Extensiones (Java, Python, Ruby). | Plugins personalizados (Java). |
| Usabilidad | Fácil de usar para desarrolladores y testers. | Curva de aprendizaje más pronunciada, orientado a profesionales de la seguridad. | Interfaz de usuario intuitiva, buena para depuración general. |
Solución de Problemas del Proxy Fiddler
El Tráfico No Aparece
- Estado de Captura de Fiddler: Asegúrese de que
File > Capture Trafficesté marcado (o presione F12). La barra de estado debe mostrar "Capturing". - Configuración del Proxy del Sistema: Verifique que Fiddler haya configurado correctamente el proxy del sistema. Vaya a
Tools > Options > Connectionsy asegúrese de queAct as system proxy on startupesté marcado. - Configuración del Cliente: Si está depurando una aplicación que no es un navegador, asegúrese de que esté configurada para usar el proxy de Fiddler (
127.0.0.1:8888). - Firewall: Verifique si un firewall está bloqueando el puerto o el acceso a la red de Fiddler.
Errores de Descifrado HTTPS
- Confianza del Certificado: Confirme que el Certificado Raíz de Fiddler esté correctamente instalado y sea de confianza en el sistema y el navegador. Vuelva a ejecutar
Actions > Trust Root CertificateenTools > Options > HTTPS. - Almacenes de Confianza Específicos de la Aplicación: Algunas aplicaciones (por ejemplo, aplicaciones móviles, aplicaciones Java) usan sus propios almacenes de confianza de certificados, omitiendo el del sistema. Estas pueden requerir la instalación manual del certificado de Fiddler en su almacén de confianza específico o la desactivación del anclaje de certificados.
- Certificados Caducados: Asegúrese de que el certificado raíz de Fiddler no haya caducado.
Conectividad del Proxy Ascendente
- Dirección/Puerto Correctos: Verifique dos veces la dirección y el puerto del proxy ascendente en
Tools > Options > Gateway. - Autenticación: Si el proxy ascendente requiere autenticación, verifique las credenciales proporcionadas en Fiddler.
- Accesibilidad de la Red: Confirme que la máquina que ejecuta Fiddler puede alcanzar el servidor proxy ascendente. Use
pingotelnetpara probar la conectividad a la IP y el puerto del proxy ascendente. - Registros del Proxy Ascendente: Consulte los registros del proxy ascendente para ver si hay errores de rechazo de conexión o autenticación.