¿Cómo hago para que Fiddler deje de ignorar el tráfico a localhost?


143

Cuando se utiliza Fiddler para monitorear solicitudes y respuestas HTTP en Internet Explorer, ignora todo el tráfico dirigido a http: // localhost .


Creo que esto es solo un problema en IE <9, ¿verdad?
Josh Mouch

Hum ... mi tráfico localhost no es ignorado por los valores predeterminados y también lo pruebo con IE 11.
m3nda

También tuve que cambiar de IIS a IIS Express
niico

Fiddler solía ser esta gran herramienta, pero ahora es solo una pesadilla de configuración.
The Muffin Man

Respuestas:


100

Para que Fiddler capture el tráfico cuando está depurando en el host local, después de presionar F5 para comenzar la depuración, cambie la dirección para que localhost tenga un "." después de.

Por ejemplo, comienza a depurar y tiene la siguiente URL en la barra de direcciones:

http: // localhost: 49573 / Default.aspx

Cámbielo a:

http://localhost.:49573/Default.aspx

Presiona enter y Fidder comenzará a recoger tu tráfico.


3
Dulzura. Tan simple y efectivo.
Bradley Mountford el

12
que las obras de Cassini .. no iis que se necesita para usar si se conecta a un sitio o servicio de SSL ...
user20358

¡Agradable! Funcionó perfectamente, no puede ser más simple.
Narayan

1
No funcionó para mí usando cygwin y curl con el siguiente comando: curl -X POST -H "application / json" -d '{"name": {"firstName": "eli", "lastName": "kool" }} 'localhost.:61444/Inbound/Catch
Ilia Koulikov

15
WebAPI no funciona con localhost. dice Mal
pedido

90

El sitio web de Fiddler aborda esta pregunta directamente.

Hay varias soluciones sugeridas, pero la más sencilla es simplemente usar el nombre de la máquina en lugar de "localhost" o "127.0.0.1":

http://machinename/mytestpage.aspx

No estoy seguro de por qué el sitio web de Fiddler no sugiere la sugerencia de "agregar un punto después de localhost", que creo que es la mejor. Esto es especialmente cierto en algunos entornos de servidor en los que trabajo, donde localhost es lo único que puedo usar (debido a los controles ActiveX, permisos y demás).
Josh Mouch

3
@JoshMouch Porque algunos servidores web lo rechazan localhost.como un nombre de host no válido.
Aaron Jensen el

3
localhost.y machinenamees rechazado en mi caso.
The Muffin Man

2
Como se señaló, "localhost". no funciona en muchas API (o 127.0.0.1). Utilicé la modificación " localhost.fiddler " que funcionó perfectamente para mí.
Vman

43

La respuesta correcta es que no es que Fiddler ignore el tráfico dirigido a Localhost, sino que la mayoría de las aplicaciones están codificadas para omitir los proxies (de los cuales Fiddler es uno) para las solicitudes dirigidas a localhost.

Por lo tanto, las diversas soluciones disponibles: http://fiddler2.com/documentation/Configure-Fiddler/Tasks/MonitorLocalTraffic


1
a partir de abril de 2013: fiddler2.com/documentation/Configure-Fiddler/Tasks/… ps gracias por la increíble herramienta Eric.
Pete

La adición de un período al final del localhost es el mejor truco, y el sitio de Fiddler no menciona ese.
Josh Mouch

Intenté las otras soluciones en esta página: Agregar un punto, cambiar el nombre de host de 'localhost "al nombre de mi máquina. Ninguno funcionó. Reemplazar" localhost "por" ipv4.fiddler ", mencionado en el documento de soluciones, funcionó.
Simon Tewsi

En situaciones en las que la dirección está codificada en los archivos del proyecto que se encuentran en una biblioteca de código fuente, distribuida a todos los desarrolladores (piense en Mercurial / Git) en un equipo, o que todos los desarrolladores no tienen un violinista, estas soluciones son poco realistas y causan más problemas que ellos resuelven. Lo que se necesita es una forma para que el violinista opere fuera de un proyecto y, por lo tanto, no tenga ningún impacto en el proyecto o su configuración.
user2960136

39

Fiddler v4.5.1.0 le permitirá reemplazar "localhost" con "localhost.fiddler" y presentar localhost como el nombre de host para el servidor receptor que se ejecuta en su máquina.

Esto evita errores de "host no reconocido" cuando se conecta a servicios WCF con el servidor web incorporado que utiliza Visual Studio.

es decir, en lugar de http://localhost:51900/service.wcfusted puede usarhttp://localhost.fiddler:51900/service.wcf


2
¡FUNCIONA PERFECTAMENTE! .. Debido a la configuración de red de mi trabajo, ninguna de las otras sugerencias funcionó. Este es el único truco que funcionó para mí.
Zorthgo

@Zorthgo Es bueno saberlo. :)
Jonathan


3

Usando Fiddler v4.6 y la configuración predeterminada no se pudo ver ningún tráfico desde 'localhost'. Intenté muchas sugerencias aquí pero nada funcionó.

Ayuda habilitada -> Solucionar problemas y podría ver muchas más solicitudes. Las sesiones se marcaron con una fuente tachada y la razón dada fue 'Oculta debido a la barra de estado> Filtro de proceso'.

Encontré esta respuesta de Eric Lawrence a la persona que tiene el mismo problema http://www.telerik.com/forums/fiddler-not-capturing-ios-traffic-even-though-echo-service-works

Básicamente, lo que hay que hacer es: mira la barra de estado en la parte inferior de la ventana de Fiddler, la segunda "bandeja" en esa barra probablemente dice algo así como "Navegadores web". Haga clic en eso y luego cambie a "Todos los procesos".

Barra de estado del violinista



2

asegúrese de que Supervisar todas las conexiones esté marcado. no funciona para mí, tal vez el puerto sea diferente, necesito ver httprequest a mi sitio desde gmail, mi sitio está en win xp e iis5 (mi propia máquina)


2

Para que Fiddler capture el tráfico de localhost en IIS local, hay 3 pasos (funcionó en mi computadora):

  1. Haga clic en Herramientas> Opciones de Fiddler. Asegúrese de que Permitir que los clientes remotos se conecten esté marcado. Cierra Fiddler.

ingrese la descripción de la imagen aquí

  1. Cree un nuevo DWORD llamado ReverseProxyForPort dentro de KEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Fiddler2. Establezca el DWORD en el puerto 80 (elija decimal aquí). Reiniciar Fiddler.

ingrese la descripción de la imagen aquí

  1. Agregue el puerto 8888 a las direcciones definidas en su cliente. Por ejemplo localhost: 8888 / MyService / WebAPI / v1 /

Sí, esta configuración hace que el fiddler se ejecute como proxy inverso, de modo que reenvía las solicitudes entrantes a un puerto diferente. En este ejemplo, reenvía las solicitudes realizadas al puerto 8888 al 80.
ozanmut

Lo más complejo para mí fue ignorar completamente localhost y enviar todo el resto del tráfico para que lo procesara el violinista. Debe omitir localhost, PERO también, excluirlo dentro de sus funciones. (puede probar con la regla hide 304 para fines de prueba). Así que terminé excluyéndolo de la siguiente manera if ((m_EnableProxy) && !(oSession.host =="127.0.0.1" || oSession.host =="localhost" || oSession.host =="ipv4.fiddler")) { oSession["X-OverrideGateway"] = "socks=127.0.0.1:8080"; oSession["ui-backcolor"] = "#EFEF9F"; }. Esta función debe estar enBeforeRequest.
m3nda


1

Utilice su dirección IP local (no 127.0.0.1) en su lugar funcionaría, como 192.16.0.88, etc. Vaya a cmd.exe y escriba ipconfig y lo verá.

texto alternativo


44
En realidad no lo hace.
Nathan C. Tresch

No funciona Parece que no puedes conectarte a tu propia dirección IP localmente
zeocrash

0

Windows XP:

Asegúrese de hacer clic en el botón de configuración para cada uno de los elementos en el cuadro de lista "Configuración de acceso telefónico y red privada virtual" en la pestaña "Conexiones" de la aplicación del panel de control "Opciones de Internet".

Noté que Fiddler dejaría de usar la configuración de "Configuración de LAN" una vez que me conectara a mi VPN. Incluso si el tráfico no pasaba por la VPN.


0
  • Escriba ipconfig en el símbolo del sistema.
  • Te dará tu dirección IPv4
  • Reemplace localhost con su dirección IPv4 en la URL cuando acceda al servicio.

El tráfico se mostrará en Fiddler con la dirección IP de su computadora.


-2

Vaya a Herramientas, Opciones de Fiddler ..., seleccione la pestaña Conexiones, luego asegúrese de que Supervisar todas las conexiones esté marcado. Como dijo Antony Scott, pero también asegúrese de que el panel "Sesiones web" esté configurado en "Capturar" y ["Navegadores web" O "Todos los procesos"]. Parece que el valor predeterminado es "Sin navegador".

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.