C# 在fiddler中捕获内部请求调用

C# 在fiddler中捕获内部请求调用,c#,wcf,asmx,fiddler,C#,Wcf,Asmx,Fiddler,我有一个web应用程序,并在内部调用WCF和ASMX服务来获取信息。 但是,在fildder中,我能够单独看到web应用程序aspx请求,而不是WCF和asmx服务调用 如何在Fiddler流量中捕获WCF和asmx调用 如果fiddler没有该选项,请建议使用其他工具。fiddler的工作原理是在一个端口(如8888)拦截web请求,然后将请求转发到您在WCF中设置的实际目标端口(如8000)。这就是允许Fiddler捕获主机和客户端之间双向通信的原因 因此,您需要在客户端或主机上运行fidd

我有一个web应用程序,并在内部调用WCF和ASMX服务来获取信息。 但是,在fildder中,我能够单独看到web应用程序aspx请求,而不是WCF和asmx服务调用

如何在Fiddler流量中捕获WCF和asmx调用


如果fiddler没有该选项,请建议使用其他工具。

fiddler的工作原理是在一个端口(如8888)拦截web请求,然后将请求转发到您在WCF中设置的实际目标端口(如8000)。这就是允许Fiddler捕获主机和客户端之间双向通信的原因

因此,您需要在客户端或主机上运行fiddler。然后,在启动Fiddler后,转到工具菜单并选择Fiddler选项,确保它正在侦听端口8888。接下来,转到“规则”菜单,选择“自定义规则”,并向Handlers类中添加如下代码:

if (oSession.host=="localhost:8888") { 
     oSession.host="localhost:8000";
}
接下来,更改客户端应用程序,使其使用8888而不是普通端口,然后运行该程序。如果设置正确,Fiddler将充当中间人,拦截并记录请求和响应


祝你好运。如果这是一个答案,别忘了标记它

默认情况下,Fiddler作为代理服务器运行,它捕获通过它的流量

当您在客户机上运行Fiddler时,您的浏览器将请求通过Fiddler传递到服务器。如果您的客户端和服务器位于同一台PC上,发送到localhost或127.0.0.1的流量可能会绕过Fiddler,因为.NET Framework浏览器中的硬编码限制不存在此问题

为了解决这个问题,您可以更新.NET代码,使其达到Fiddler支持的localhost的别名之一,即localhost.Fiddler或ipv4.Fiddler或ipv6.Fiddler

如果Fiddler正在服务器上运行,并且您希望捕获服务器端代码发出的请求,例如来自ASP.NET的出站请求,则需要配置ASP.NET应用程序以将其流量发送给Fiddler。这是因为,当Fiddler运行时,它将当前用户配置为向Fiddler发送流量,但ASP.NET在Windows服务帐户内运行,而不是在当前用户的帐户内运行。有几种方法可以捕获ASP.NET内部发出的请求,但总结了最简单的方法。更新相应的machine.config文件,通常是64位版本的文件,以包含行

现在,如果Fiddler正在另一台服务器上运行,那么您必须将代理设置配置为指向Fiddler正在运行的任何机器,例如


嗨,布莱恩,如果是我当地的话,你建议的方式是正确的。但是,请考虑在QA/UAT/PROD环境中托管的应用程序,然后了解如何获取内部流量。两者都是应用程序,WCF服务位于不同的网络服务器中。好的,在规则中用QA或Prod服务器的URL替换localhost即可。所以MyQAServer:8888而不是localhost:8888.Hi Brain,我尝试了以上建议。但是没有运气。你能不能建议一下我到底需要换什么地方,我的秘书在哪里,我们在QA/UAT/PROD服务器上有web应用程序。在内部,这些web应用程序用于一些WCF服务和asmx服务。现在,我正在本地PC上浏览这些QA/UAT/PROD web应用程序,filddler仅安装在本地PC上。在这种情况下,我如何捕获内部WCF和asmx请求。这里没有我的本地服务器,除了浏览器和fiddlerHi Eric之外,我的本地服务器中没有任何内容,我的安全是,我们在QA/UAT/PROD服务器中有web应用程序。在内部,这些web应用程序用于一些WCF服务和asmx服务。现在,我正在本地PC上浏览这些QA/UAT/PROD web应用程序,filddler仅安装在本地PC上。在这种情况下,我如何捕获内部WCF和asmx请求。这里没有我的本地服务器的目录,除了浏览器和fiddler之外,我的本地服务器中没有任何内容。@user2783742您需要编辑托管QA/prod代码的服务器上的配置文件,并使其指向您的本地机。根据法律规定