Comment faire en sorte que Fiddler arrête d'ignorer le trafic vers localhost?

144

Lorsque vous utilisez Fiddler pour surveiller les requêtes et réponses HTTP dans Internet Explorer, il ignore tout le trafic dirigé vers http: // localhost .

Pas moi
la source
Je pense que ce n'est qu'un problème dans IE <9, non?
Josh Mouch
Hum ... mon trafic localhost n'est pas ignoré par les valeurs par défaut et je le teste aussi avec IE 11.
m3nda
J'ai également dû passer d'IIS à IIS Express
niico
Fiddler était cet excellent outil, mais maintenant c'est juste un cauchemar de configuration.
The Muffin Man

Réponses:

100

Pour que Fiddler capture le trafic lorsque vous déboguez sur l'hôte local, après avoir appuyé sur F5 pour commencer le débogage, changez l'adresse afin que localhost ait un "." après ça.

Par exemple, vous démarrez le débogage et vous avez l'URL suivante dans la barre d'adresse:

http: // localhost: 49573 / Default.aspx

Changez-le en:

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

Appuyez sur Entrée et Fidder commencera à capter votre trafic.

Pas moi
la source
3
Douceur. Si simple et efficace.
Bradley Mountford
12
qui fonctionne pour cassini .. pas iis que vous devez utiliser si vous vous connectez à un site ou un service sur SSL ...
user20358
Agréable! Fonctionne parfaitement - ne peut pas être plus simple
narayan le
1
Cela n'a pas fonctionné pour moi en utilisant cygwin et curl avec la commande suivante: curl -X POST -H "application / json" -d '{"name": {"firstName": "eli", "lastName": "kool" }} 'localhost.:61444/Inbound/Catch
Ilia Koulikov
15
WebAPI ne fonctionne pas avec localhost. il dit Mauvaise demande - Nom d'hôte invalide
Pramod Jangam
90

Le site Web de Fiddler répond directement à cette question .

Il existe plusieurs solutions de contournement suggérées, mais la plus simple est simplement d'utiliser le nom de la machine plutôt que «localhost» ou «127.0.0.1»:

http://machinename/mytestpage.aspx
Matt Dillard
la source
Je ne sais pas pourquoi le site Web de Fiddler ne suggère pas la suggestion "d'ajouter une période après l'hôte local", qui est à mon avis la meilleure. Cela est particulièrement vrai dans certains environnements de serveur dans lesquels je travaille où localhost est la seule chose que je peux utiliser (en raison des contrôles ActiveX, des autorisations, etc.).
Josh Mouch
3
@JoshMouch Parce que certains serveurs Web rejettent localhost.comme un nom d'hôte non valide.
Aaron Jensen
3
localhost.et machinenameest rejeté dans mon cas.
The Muffin Man
2
Comme indiqué, «localhost». ne fonctionne pas sur de nombreuses API (ou 127.0.0.1). J'ai utilisé la modification " localhost.fiddler " qui a parfaitement fonctionné pour moi.
Vman
43

La bonne réponse est que ce n'est pas que Fiddler ignore le trafic ciblé sur Localhost, mais plutôt que la plupart des applications sont codées en dur pour contourner les proxies (dont Fiddler est l'un) pour les demandes ciblées sur localhost.

Par conséquent, les différentes solutions de contournement disponibles: http://fiddler2.com/documentation/Configure-Fiddler/Tasks/MonitorLocalTraffic

EricLaw
la source
1
en avril 2013: fiddler2.com/documentation/Configure-Fiddler/Tasks/… ps merci pour l'outil génial Eric.
Pete
L'ajout d'un point à la fin de l'hôte local est la meilleure astuce, et le site de Fiddler ne le mentionne pas.
Josh Mouch
J'ai essayé les différentes solutions de cette page: Ajout d'un point, changement du nom d'hôte de 'localhost "en nom de ma machine. Aucune des deux n'a fonctionné. Le remplacement de" localhost "par" ipv4.fiddler ", mentionné dans le document sur les solutions de contournement, a fonctionné.
Simon Tewsi
Dans les situations où l'adresse est encodée dans les fichiers de projet qui se trouvent dans une bibliothèque de code source, distribuée à tous les développeurs (pensez à Mercurial / Git) dans une équipe, ou que tous les développeurs n'ont pas réellement de violon, ces solutions sont irréalistes et causent plus problèmes qu’ils résolvent. Ce qu'il faut, c'est un moyen pour le violoniste d'opérer en dehors d'un projet et donc d'avoir un impact nul sur le projet ou sa configuration.
user2960136
39

Fiddler v4.5.1.0 vous permettra d'aller remplacer "localhost" par "localhost.fiddler", et de présenter localhost comme nom d'hôte du serveur de réception fonctionnant sur votre machine.

Cela évite les erreurs «hôte non reconnu» lors de la connexion aux services WCF avec le serveur Web intégré utilisé par Visual Studio.

c'est à dire au lieu de http://localhost:51900/service.wcfvous pouvez utiliserhttp://localhost.fiddler:51900/service.wcf

Jonathan
la source
2
FONCTIONNE PARFAITEMENT! .. En raison de la configuration réseau de mon travail, aucune des autres suggestions n'a fonctionné. C'est la seule astuce qui a fonctionné pour moi.
Zorthgo
@Zorthgo C'est bon à entendre. :)
Jonathan
3

L'utilisation de Fiddler v4.6 et de la configuration par défaut ne pouvait pas voir le trafic de 'localhost'. J'ai essayé de nombreuses suggestions ici mais rien n'a fonctionné.

Aide activée -> Dépannage et pourrait voir beaucoup plus de demandes. Les sessions étaient marquées dans une police barrée et la raison invoquée était «Cachée en raison de la barre d'état> Filtre de processus».

J'ai trouvé cette réponse d'Eric Lawrence à une personne ayant le même problème .

En gros, ce qu'il faut faire est: Regardez la barre d'état en bas de la fenêtre Fiddler, le deuxième petit "plateau" dans cette barre dit probablement quelque chose comme "Navigateurs Web". Cliquez dessus, puis passez à «Tous les processus».

Barre d'état Fiddler

Riga
la source
2

assurez-vous que Surveiller toutes les connexions est coché. cela ne fonctionne pas pour moi peut-être que le port est différent j'ai besoin de voir httprequest sur mon site à partir de gmail mon site est sur win xp et iis5 (ma propre machine)

user88064
la source
2

Pour que Fiddler capture le trafic de localhost sur IIS local, il y a 3 étapes (cela a fonctionné sur mon ordinateur):

  1. Cliquez sur Outils> Options Fiddler. Assurez-vous que l'option Autoriser les clients distants à se connecter est cochée. Fermez Fiddler.

entrez la description de l'image ici

  1. Créez un nouveau DWORD nommé ReverseProxyForPort dans KEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Fiddler2. Réglez le DWORD sur le port 80 (choisissez décimal ici). Redémarrez Fiddler.

entrez la description de l'image ici

  1. Ajoutez le port 8888 aux adresses définies dans votre client. Par exemple localhost: 8888 / MyService / WebAPI / v1 /
ozanmut
la source
Oui, ce paramètre permet au violoniste de s'exécuter en tant que proxy inverse, de sorte qu'il transfère les demandes entrantes vers un port différent. Dans cet exemple, il transfère les requêtes effectuées vers le port 8888 vers 80.
ozanmut
Le plus complexe pour moi était d'ignorer complètement localhost et d'envoyer tout le reste du trafic à être traité par Fiddler. Vous devez contourner localhost, MAIS aussi, l'exclure avec vos fonctions. (vous pouvez essayer avec la règle hide 304 à des fins de test.). J'ai donc fini de l'exclure de la manière suivante 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"; }. Cette fonction doit être onBeforeRequest.
m3nda
1

Utilisez votre adresse IP locale (et non 127.0.0.1) à la place, comme 192.16.0.88, etc. Allez dans cmd.exe et tapez ipconfig et vous le verrez.

texte alternatif

code de Schrodinger
la source
4
En fait, ce n'est pas le cas.
Nathan C.Tresch
Ça ne marche pas. Il semble que vous ne puissiez pas vous connecter à votre propre adresse IP localement
zeocrash
0

Windows XP:

Assurez-vous de cliquer sur le bouton Paramètres pour chacun des éléments de la zone de liste "Paramètres du réseau commuté et du réseau privé virtuel" dans l'onglet "Connexions" de l'applet du panneau de configuration "Options Internet".

J'ai remarqué que Fiddler cesserait d'utiliser la configuration "Paramètres LAN" une fois que je me suis connecté à mon VPN. Même si le trafic ne passait pas par le VPN.

Utilisateur1
la source
0
  • Tapez ipconfig à l'invite de commande.
  • Il vous donnera votre adresse IPv4
  • Remplacez localhost par votre adresse IPv4 dans l'URL lorsque vous accédez au service.

Le trafic apparaîtra dans Fiddler sous l'adresse IP de votre ordinateur.

Christian Findlay
la source
-2

Allez dans Outils, Options Fiddler ..., sélectionnez l'onglet Connexions, puis assurez-vous que Surveiller toutes les connexions est coché. Comme l'a dit Antony Scott, mais assurez-vous également que le volet "Sessions Web" est réglé sur "Capture" et ["Navigateurs Web" OU "Tous les processus"]. On dirait que la valeur par défaut est "Non-navigateur".

Marcus
la source