如何配置 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?的主要内容,如果未能解决你的问题,请参考以下文章