我需要监控在远程Web服务器上运行的网站的http请求和响应。 Web服务器进行大量的Web服务调用,并希望跟踪它们。
如果网站在本地运行,Fiddler会跟踪每个Web服务调用请求并向我提供报告。有人可以帮我解决一切可能吗
* e.g。
如果Web应用程序在本地运行并调用两个Web服务,则fiddler会显示统计信息的总时间。但是,如果Web应用程序在托管在内部托管的不同Web服务器(Intranet)上的Web服务器上运行,并且我在我的计算机上运行fiddler,则不会获取每个Web服务调用的统计信息。我只能看到aspx页面的总时间。 *
所以问题是如何(如果可能的话)我可以跟踪在不同机器上运行的Web应用程序调用的每个Web服务的统计信息,并且fiddler正在我的机器上运行。
感谢。
答案 0 :(得分:4)
如果您与服务器位于同一网络,则可以始终使用WireShark http://www.wireshark.org/来捕获所有数据包。
答案 1 :(得分:3)
假设您在名为WEBSERVER的计算机的端口80上运行网站。您在Windows SmartPhone设备上使用Internet Explorer Mobile Edition连接到该网站,您无法为其配置Web代理。您希望捕获来自手机的流量和服务器的响应。
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,SmartPhone不知道内容最初来自端口80.
答案 2 :(得分:2)
您可以在计算机中设置Fiddler,并将其设置为您想要跟踪的Web应用程序中的代理。在网络内部很容易,互联网上不那么容易。