7

我需要监控远程 Web 服务器上运行的网站的 http 请求和响应。Web 服务器进行大量 Web 服务调用并希望跟踪它们。

如果网站在本地运行,Fiddler 会跟踪每个 Web 服务调用请求并为我提供报告。有人可以帮我解决同样的问题吗

*例如

如果 Web 应用程序在本地运行并调用两个 Web 服务,fiddler 会显示统计的总时间。但是,如果 Web 应用程序在托管在内部托管的不同 Web 服务器(Intranet)上的 Web 服务器上运行,并且我在我的机器上运行了 fiddler,我不会获得每个 Web 服务调用的统计信息。我只能看到 aspx 页面的总时间。*

所以问题是(如果可能的话)我如何跟踪由运行在不同机器上的 Web 应用程序调用的每个 Web 服务的统计信息,并且 Fiddler 正在我的机器上运行。

谢谢。

4

3 回答 3

4

如果你和服务器在同一个网络上,你总是可以使用 WireShark http://www.wireshark.org/来捕获所有的数据包。

于 2012-12-28T11:06:58.333 回答
3

假设您正在一台名为 WEBSERVER 的机器的 80 端口上运行一个网站。您在无法配置 Web 代理的 Windows 智能手机设备上使用 Internet Explorer 移动版连接到网站。您想要捕获来自电话的流量和服务器的响应。

0.) 在 WEBSERVER 机器上启动 Fiddler,在默认端口 8888 上运行。

1.)Click Tools | Fiddler Options, and ensure the "Allow remote clients to connect" checkbox is checked.  Restart if needed.
2.)Choose Rules | Customize Rules.
3.)Inside the OnBeforeRequest handler, add a new line of code:
if (oSession.host.toLowerCase() == "webserver:8888") oSession.host = "webserver:80";
5.)  navigate to http://webserver:8888

来自 SmartPhone 的请求将出现在 Fiddler 中。请求从端口 8888 转发到运行 Web 服务器的端口 80。响应通过 Fiddler 发送回 SmartPhone,它不知道内容最初来自端口 80。

于 2012-12-29T21:32:54.217 回答
2

您可以在您的机器中设置 Fiddler,并将其设置为您想要跟踪的 Web 应用程序中的代理。在网络内部很容易,在互联网上则不那么容易。

于 2012-12-28T19:05:20.827 回答