¿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 .

No a mí mismo
fuente
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.

No a mí mismo
fuente
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
Matt Dillard
fuente
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

EricLaw
fuente
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

Jonathan
fuente
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

Riga
fuente
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)

usuario88064
fuente
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 /
ozanmut
fuente
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

código de schrodinger
fuente
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.

Usuario1
fuente
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.

Christian Findlay
fuente
-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".

Marcus
fuente