如何使用Fiddler来监视WCF服务

我有一个WCF服务,接受一个复杂的types,并返回一些数据。 我想使用Fiddler来查看对服务的传入请求是什么样的。 客户端是使用服务引用代理的.net控制台应用程序。 这可能与小提琴手。 我是这个工具的新手,并且只使用它过去用请求构build器发布数据。

你需要在你的web.config中添加这个

<system.net> <defaultProxy> <proxy bypassonlocal="False" usesystemdefault="True" proxyaddress="http://127.0.0.1:8888" /> </defaultProxy> </system.net> 
  1. 然后在WEBSERVER机器上开始Fiddler。
  2. 点击工具| 提琴手选项=>连接=>调整端口为8888.(允许远程,如果你需要的话)
  3. 好的,然后从文件菜单,捕获stream量。

这一切,但不要忘记在closures提琴手后,删除web.config行,因为如果你不这样做会出错。

参考: http : //fiddler2.com/documentation/Configure-Fiddler/Tasks/UseFiddlerAsReverseProxy

Fiddler监听出站请求,而不是入站请求,所以你不能通过使用Fiddler来监视进入服务的所有请求。

使用Fiddler可以获得最好的效果,就是能够查看所有请求(由控制台应用程序生成)(假设应用程序生成Web请求,而不是使用其他pipe道)。

如果你想要一个function更强大(但更难使用)的工具来监视所有的请求,你应该检查一下WireShark。

编辑

我纠正了。 感谢Eric Law发布了将Fiddlerconfiguration为反向代理的说明 !

刚刚有这个问题,对我来说是使用localhost.fiddler:

  <endpoint address="http://localhost.fiddler/test/test.svc" binding="basicHttpBinding" bindingConfiguration="customBinding" contract="test" name="customBinding"/> 

注意几个用例的注释/回答中提到的注意事项。

大多数情况下,请参阅http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureDotNETApp

  • 在你的应用程序之前开始Fiddler
  • 在控制台应用程序中,您可能不需要指定proxyaddress

     <proxy bypassonlocal="False" usesystemdefault="True" /> 
  • 在一个Web应用程序/托pipe在IIS中的东西,您需要添加proxyaddress

     <proxy bypassonlocal="False" usesystemdefault="True" proxyaddress="http://127.0.0.1:8888" /> 
  • 当.NET(通过服务客户端或HttpWebRequest等)发出请求时,它总是绕过Fiddler代理来处理包含localhost URL,所以你必须使用别名,比如机器名,或者在你的主机文件是为什么像localhost.fiddlerhttp://HOSTNAME作品)
  • 如果您指定proxyaddress ,则必须将其从configuration中移除,如果Fiddler未处于打开状态,或者您的应用程序发出的任何请求都会抛出exception,如:

    由于目标机器主动拒绝127.0.0.1:8888,所以不能build立连接

  • 不要忘记使用configuration转换来删除生产中的代理部分

如此简单,您只需要在configuration客户端中更改地址:而不是“本地主机”更改为机器名称或IP

如果您可以控制正在发送通信的客户端,则这很简单。 所有你需要做的就是在客户端服务类上设置HttpProxy。

例如,我这样做是为了跟踪在智能手机上运行的Web服务客户端。 我在该客户端连接到在networking上的个人电脑上运行的Fiddler的IP /端口上设置代理。 智能手机应用程序通过Fiddler将所有外发通信发送到Web服务。

这工作完美。

如果您的客户端是一个WCF客户端,那么请参阅此Q&A以了解如何设置代理。

即使您无法修改客户端应用程序的代码,也可以通过pipe理方式设置代理,具体取决于客户端使用的Web服务堆栈。

我已经使用Wire Shark工具来监视从浏览器中的银灯应用程序到服务的服务调用。 尝试链接给出明确的信息

它使您能够监视整个请求和响应内容。