如何配置 Fiddler 来监听 localhost?

Posted

技术标签:

【中文标题】如何配置 Fiddler 来监听 localhost?【英文标题】:How to configure Fiddler to listen to localhost? 【发布时间】:2011-06-06 12:50:43 【问题描述】:

我想监控本地机器上的一个进程与另一个(服务器)进程之间的 HTTP 流量,该进程也在我的本地机器上运行。

如何配置 Fiddler 以侦听来自localhost 的流量?

【问题讨论】:

How do I get Fiddler to stop ignoring traffic to localhost?的可能重复 【参考方案1】:

你不能。相反,如果您的机器名为“myMachine”,请将浏览器指向 http://mymachine 而不是 http://localhost

【讨论】:

试过了,但在启用 url 重写时无法收听,但是当启用 url 重定向时它会显示它。【参考方案2】:

.NET 和 Internet Explorer 不会通过任何代理发送对 localhost 的请求,因此它们不会出现在 Fiddler 上。

有很多选择

使用您的机器名称而不是 localhost。 使用 Firefox(安装了 fiddler 插件)发出请求。 使用 http://ipv4.fiddler 而不是 localhost。

欲了解更多信息http://www.fiddler2.com/Fiddler/help/hookup.asp

【讨论】:

我相信使用 IE 9 RC,Fiddler 现在可以捕获 localhost 请求 我将 URL 更改为 help 见上文【参考方案3】:

localhost 之后添加一个点.

例如,如果您有 http://localhost:24448/HomePage.aspx

将其更改为 http://localhost.:24448/HomePage.aspx

Internet Explorer 正在绕过“localhost”的代理服务器。使用点,域名中的“localhost”检查失败。

【讨论】:

从技术上讲,绕过代理的不是 Internet Explorer,而是 DNS 本身。 DNS 中的localhost 总是在不使用代理的情况下解析。更多信息wikipedia 附带提示,如果您还想在 .net 中捕获到 Web 服务的流量,请在调用 ws 之前将 Web 服务代理设置为 127.0.0.1:8888。【参考方案4】:

我刚刚在 vista 'localhost' 上发现了这一点。不管用。在这种情况下,使用“127.0.0.1”。 (带一个点的环回地址)。

【讨论】:

【参考方案5】:

工具 => 提琴手选项 => 连接有一个文本区域可以跳转,从那里删除 LH

【讨论】:

【参考方案6】:

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

【讨论】:

【参考方案7】:

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

【讨论】:

【参考方案8】:

只需将提琴手添加到网址

http://localhost.fiddler:8081/

流量通过 fiddler 路由,因此显示在 fiddler 上。

【讨论】:

在 .net 中工作,无需在 HttpClientHandler 中设置代理! 根据 Telerik 的文档,此方法适用于 Visual Studio 的测试网络服务器:docs.telerik.com/fiddler/Configure-Fiddler/Tasks/… 即使这样也太过分了。您所要做的就是使用计算机的 IP 地址而不是 localhost。【参考方案9】:

我正在运行 Fiddler v4.4.7.1。使用 Composer 选项卡时,我需要使用 localhost:8888 或 machinename:8888。查看“帮助/关于 Fiddler”菜单选项,其中显示“正在运行:”。我的在那里显示 machinename:8888。

【讨论】:

【参考方案10】:

您可能希望将客户端应用程序配置为使用代理,而不是将应用程序服务器和客户端配置为使用另一个域。 Fiddler 还创建了一个您可以使用的代理,记录所有流量。 Rick Strahl 写了一篇关于在 .NET Apps 中使用它的博客,我总是把这篇博文放错地方,所以让我在这里链接它: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>

【讨论】:

【参考方案11】:

光,

您可以将充当客户端的进程配置为使用 fiddler 作为代理。

Fiddler 在 127.0.0.1:8888 上方便地将自己设置为代理,默认情况下会覆盖控制面板中 Internet 选项下的系统设置(如果您已配置),这样所有来自通用协议(http 、https 和 ftp)在离开您的机器之前转到 127.0.0.1:8888。

现在这些协议通常来自浏览器等常见进程,因此很容易被 fiddler 获取。但是,在您的情况下,发起请求的进程可能不是浏览器,而是用于 php.exe 或 java.exe 等编程语言或您使用的任何语言的进程。

例如,如果您使用的是 php,则可以利用 curl。确保 curl 模块已启用,然后在调用请求的代码之前,包括:

curl_setopt($ch, CURLOPT_PROXY, '127.0.0.1:8888');

希望这会有所帮助。您还可以随时从提琴手文档中查找类似的内容,作为您构建的基础,例如http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigurePHPcURL

【讨论】:

【参考方案12】:

在您的网址中将localhost 替换为lvh.me

例如,如果您有 http://localhost:24448/HomePage.aspx

将其更改为 http://lvh.me:24448/HomePage.aspx

【讨论】:

【参考方案13】:

如果您使用的是 FireFox,Fiddler 的插件会自动将其配置为在捕获流量时不忽略 localhost。如果来自 localhost 的流量仍然(或突然)没有出现,请尝试禁用并重新启用来自 Fiddler 的流量捕获,以促使插件修复代理配置。

【讨论】:

【参考方案14】:

这很容易。只需在命令提示符下使用 IPconfig 获取计算机的 IP 地址。然后,使用 IP 地址而不是 localhost 访问服务。您无需对 Fiddler 进行任何操作即可使其正常工作,它会自行工作。

【讨论】:

【参考方案15】:

Firefox 特有的,它不通过 IE、Chrome 和 Edge 等 Internet 选项,您可以使用 about:config 修改首选项,找到首选项 network.proxy.no_proxies_on 并从中删除 localhost

这是 Firefox Developer Edition 66.0b2 的默认设置,适用于 Fiddler 5.0.20182.28034。

(其他列出的解决方案确实有效,此解决方案允许您不更改要导航到的主机。)

【讨论】:

【参考方案16】:

在 Firefox 中进入代理设置并选择“使用系统代理”,但一定要检查“无代理”字段中的 localhost 是否没有异常。

【讨论】:

以上是关于如何配置 Fiddler 来监听 localhost?的主要内容,如果未能解决你的问题,请参考以下文章

fiddler之入门(安装配置)

如何配置能让fiddler抓去https的请求

fiddler 怎么监听HttpClient发送的请求

fiddler配置和使用

Fiddler 安装与配置

fiddler使用心得记录