如何配置 Fiddler 监听本地主机?

116
我想监控本地计算机上一个进程和另一个(服务器)进程之间的HTTP流量。 如何配置 Fiddler 来监听与 localhost 之间的流量?

可能是如何让Fiddler停止忽略本地主机上的流量?的重复问题。 - user565869
16个回答

151

只需将fiddler添加到URL中

http://localhost.fiddler:8081/

流量被路由通过 Fiddler 并显示在 Fiddler 上。


1
在 .net 中工作时,无需在 HttpClientHandler 中设置代理! - Telemat
1
根据Telerik的文档,此方法适用于Visual Studio的测试Web服务器:http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/MonitorLocalTraffic - ksaylor11
这甚至有些过度了。你只需要使用计算机的IP地址而不是localhost即可。 - Christian Findlay

62
localhost后面添加一个点.
例如,如果您有http://localhost:24448/HomePage.aspx 将其更改为http://localhost.:24448/HomePage.aspx Internet Explorer会跳过代理服务器,直接访问"localhost"。在域名中加入点后,"localhost"检查将失败。

7
从技术上讲,这并不是Internet Explorer绕过了代理服务器,而是DNS本身的作用。在DNS中,“localhost”总是会在不使用代理的情况下解析出IP地址。更多信息可以查看维基百科上的文章:http://en.wikipedia.org/wiki/.localhost - Liam
1
作为一个小技巧,如果你想在 .net 中捕获 web 服务的流量,可以在调用 ws 之前将 web 服务代理设置为 127.0.0.1:8888。 - n00b

21

.NET和Internet Explorer不会通过代理发送本地主机的请求,因此它们在Fiddler上不会显示。

有许多替代方法可用

使用您的计算机名称而不是localhost。 使用已安装fiddler插件的Firefox进行请求。 使用http://ipv4.fiddler代替localhost。

更多信息,请参见http://www.fiddler2.com/Fiddler/help/hookup.asp


1
我相信使用IE 9 RC,Fiddler现在可以捕获本地主机请求。 - SteveC
我将URL更改为help,请参见上文。 - general03

9

尝试将您的机器名称/IP地址放入URL中,而不是使用“localhost”。 这对我有效...


6
与其配置应用程序服务器和客户端以使用另一个域,您可能希望配置客户端应用程序以使用代理。Fiddler还创建了一个代理,您可以使用它记录所有流量。Rick Strahl在.NET应用程序中使用此功能的博客文章,我总是找不到这篇博客文章,所以让我在这里链接它:http://weblog.west-wind.com/posts/2008/Mar/14/Debugging-Http-or-Web-Services-Calls-from-ASPNET-with-Fiddler
简而言之,app.config更改如下:
<system.net>
  <defaultProxy>
    <proxy  proxyaddress="http://127.0.0.1:8888" />      
  </defaultProxy>
</system.net>

4

尝试过了,但当启用URL重写时无法听取它,然而当启用URL重定向时可以显示它。 - The Light

2

工具 => Fiddler 选项 => 连接,在这里有一个文本框,需要删除其中的"LH"。


你不能从那里删除回环。如果你这样做,它只会自动重新出现。 - John Lord

2

我刚刚发现在Windows Vista系统中,使用“localhost.”将无法工作。在这种情况下,请使用“127.0.0.1.”(回环地址后面加上一个点)。


2

1

将localhost替换为127.0.0.1。如果不起作用,请更改运行配置以支持您的IP地址。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接