Come faccio a far smettere a Fiddler di ignorare il traffico verso localhost?


143

Quando si utilizza Fiddler per monitorare le richieste e le risposte HTTP in Internet Explorer, ignora tutto il traffico diretto a http: // localhost .


Penso che questo sia solo un problema in IE <9, giusto?
Josh Mouch,

Hum ... il mio traffico localhost non viene ignorato dai valori predefiniti e lo collaudo anche con IE 11.
m3nda,

Ho anche dovuto passare da IIS a IIS Express
niico

Fiddler era un ottimo strumento, ma ora è solo un incubo di configurazione.
The Muffin Man,

Risposte:


100

Per fare in modo che Fiddler acquisisca il traffico durante il debug sull'host locale, dopo aver premuto F5 per iniziare il debug, modifica l'indirizzo in modo che localhost abbia un "." dopo ciò.

Ad esempio, si avvia il debug e si dispone il seguente URL nella barra degli indirizzi:

http: // localhost: 49573 / Default.aspx

Modificalo in:

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

Premi invio e Fidder inizierà a raccogliere il tuo traffico.


3
Dolcezza. Così semplice ed efficace.
Bradley Mountford,

12
che funziona per cassini .. non è quello che devi usare se ti connetti a un sito o servizio su SSL ...
user20358

Bello! Ha funzionato perfettamente - non può essere più semplice.
Narayan,

1
Non ha funzionato per me usando cygwin e curl con il seguente comando: curl -X POST -H "application / json" -d '{"name": {"firstName": "eli", "lastName": "kool" }} 'localhost.:61444/Inbound/Catch
Ilia Koulikov

15
WebAPI non funziona con localhost. dice Bad Request - Nome host non valido
Pramod Jangam

90

Il sito Web di Fiddler affronta direttamente questa domanda .

Esistono diverse soluzioni alternative suggerite, ma la più semplice è semplicemente usare il nome della macchina anziché "localhost" o "127.0.0.1":

http://machinename/mytestpage.aspx

Non sono sicuro del motivo per cui il sito Web di Fiddler non suggerisce il suggerimento di "aggiungere un periodo dopo localhost", che ritengo sia il migliore. Ciò è particolarmente vero in alcuni ambienti server in cui lavoro in cui localhost è l'unica cosa che posso usare (a causa di controlli ActiveX, autorizzazioni e quant'altro).
Josh Mouch,

3
@JoshMouch Perché alcuni server web rifiutano localhost.come nome host non valido.
Aaron Jensen il

3
localhost.ed machinenameè respinto nel mio caso.
The Muffin Man

2
Come notato, "localhost". non funziona su molte API (o 127.0.0.1). Ho usato la modifica " localhost.fiddler " che ha funzionato perfettamente per me.
Vman

43

La risposta corretta è che non è che Fiddler ignora il traffico mirato su Localhost, ma piuttosto che la maggior parte delle applicazioni sono codificate per bypassare i proxy (di cui Fiddler è uno) per le richieste indirizzate a localhost.

Quindi, le varie soluzioni alternative disponibili: http://fiddler2.com/documentation/Configure-Fiddler/Tasks/MonitorLocalTraffic


1
da aprile 2013: fiddler2.com/documentation/Configure-Fiddler/Tasks/… ps grazie per il fantastico strumento Eric.
Pete,

L'aggiunta di un periodo alla fine di localhost è il trucco migliore, e il sito di violinista non menziona quello.
Josh Mouch,

Ho provato le altre varie soluzioni in questa pagina: aggiungere un punto, cambiare il nome host da 'localhost "al nome della mia macchina. Né ha funzionato. Sostituire" localhost "con" ipv4.fiddler ", menzionato nel documento di soluzioni alternative, ha funzionato
Simon Tewsi

Nelle situazioni in cui l'indirizzo è codificato nei file di progetto che si trovano in una libreria di codice sorgente, distribuito a tutti gli sviluppatori (pensa a Mercurial / Git) in una squadra, o che tutti gli sviluppatori non hanno realmente il violinista, queste soluzioni sono irrealistiche e causano di più problemi che risolvono. Ciò che serve è un modo per far funzionare il violinista al di fuori di un progetto e quindi avere un impatto zero sul progetto o sulla sua configurazione.
user2960136

39

Fiddler v4.5.1.0 ti permetterà di sostituire "localhost" con "localhost.fiddler" e presentare localhost come nome host per il server ricevente in esecuzione sul tuo computer.

Ciò evita errori "host non riconosciuto" durante la connessione ai servizi WCF con il server Web incorporato utilizzato da Visual Studio.

cioè invece di http://localhost:51900/service.wcfte puoi usarehttp://localhost.fiddler:51900/service.wcf


2
FUNZIONA PERFETTAMENTE! .. A causa della configurazione di rete del mio lavoro nessuno degli altri suggerimenti ha funzionato. Questo è l'unico trucco che ha funzionato per me.
Zorthgo,

@Zorthgo Buono a sapersi. :)
Jonathan,


3

Utilizzando Fiddler v4.6 e la configurazione predefinita non è stato possibile visualizzare alcun traffico da "localhost". Ho provato molti suggerimenti qui ma niente ha funzionato.

Guida abilitata -> Risoluzione dei problemi e potrebbe vedere molte altre richieste. Le sessioni sono state contrassegnate con un carattere barrato e il motivo indicato è stato "Nascosto a causa della barra di stato> Filtro processo".

Ho trovato questa risposta da Eric Lawrence alla persona che ha lo stesso problema http://www.telerik.com/forums/fiddler-not-capturing-ios-traffic-even-though-echo-service-works

fondamentalmente cosa fare è: guardare la barra di stato nella parte inferiore della finestra di Fiddler, il secondo piccolo "vassoio" in quella barra probabilmente dice qualcosa come "Browser Web". Fai clic su quello e poi passa a "Tutti i processi".

Barra di stato del violinista



2

assicurarsi che l'opzione Controlla tutte le connessioni sia selezionata. non funziona per me forse la porta è diversa ho bisogno che tu veda httprequest al mio sito da gmail il mio sito è su win xp e iis5 (la mia macchina)


2

Affinché Fiddler acquisisca il traffico da localhost su IIS locale, ci sono 3 passaggi (ha funzionato sul mio computer):

  1. Fai clic su Strumenti> Opzioni violinista. Assicurarsi che Consenti ai client remoti di connettersi sia selezionato. Chiudi Fiddler.

inserisci qui la descrizione dell'immagine

  1. Crea un nuovo DWORD chiamato ReverseProxyForPort all'interno di KEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Fiddler2. Impostare DWORD sulla porta 80 (scegliere qui il decimale). Riavvia Fiddler.

inserisci qui la descrizione dell'immagine

  1. Aggiungi la porta 8888 agli indirizzi definiti nel tuo client. Ad esempio localhost: 8888 / MyService / WebAPI / v1 /

Sì, questa impostazione rende il violinista in esecuzione come proxy inverso, in modo da inoltrare le richieste in entrata a una porta diversa. In questo esempio inoltra le richieste
inviate

La cosa più complessa per me era ignorare completamente localhost e inviare tutto il resto del traffico all'elaboratore. È necessario ignorare localhost, MA anche escluderlo con le proprie funzioni. (puoi provare con hide 304 rule a scopo di test.). Quindi ho finito escludendolo nel modo seguente 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"; }. Questa funzione dovrebbe essere onBeforeRequest.
m3nda,


1

Usa il tuo indirizzo IP locale (non 127.0.0.1) invece funzionerebbe, come 192.16.0.88 ecc. Vai su cmd.exe e digita ipconfig e lo vedrai.

testo alternativo


4
In realtà no.
Nathan C. Tresch,

Non funziona Sembra che non riesci a connetterti al tuo indirizzo IP localmente
zeocrash

0

Windows XP:

Assicurarsi di fare clic sul pulsante Impostazioni per ciascuno degli elementi nella casella di riepilogo "Impostazioni di accesso remoto e rete privata virtuale" nella scheda "Connessioni" dell'applet del pannello di controllo "Opzioni Internet".

Ho notato che Fiddler smetterebbe di usare la configurazione "Impostazioni LAN" dopo essermi connesso alla mia VPN. Anche se il traffico non passava attraverso la VPN.


0
  • Digitare ipconfig al prompt dei comandi.
  • Ti darà il tuo indirizzo IPv4
  • Sostituisci localhost con il tuo indirizzo IPv4 nell'URL quando colpisci il servizio.

Il traffico verrà visualizzato in Fiddler sotto l'indirizzo IP del tuo computer.


-2

Vai su Strumenti, Opzioni violinista ..., seleziona la scheda Connessioni, quindi assicurati che l'opzione Controlla tutte le connessioni sia selezionata. Come ha detto Antony Scott, ma assicurati anche che il riquadro "Sessioni Web" sia impostato su "Cattura" e ["Browser Web" O "Tutti i processi"]. Sembra che il valore predefinito sia "Non browser".

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.