为什么Fiddler不能看到我的网络服务流量?

时间:2013-09-20 09:50:36

标签: web-services fiddler network-traffic

我遇到了一个问题,即Fiddler没有显示我的应用程序(在本地运行)进行的Web服务调用。 I foundsolved我的问题。

所以我的问题不是如何,但为什么 Fiddler不显示网络服务流量?我对网络流量的工作方式知之甚少,所以这可能非常简单/明显。所有我能够解读的是:

  1. 我不认为它与HTTPS有任何关系,因为我可以在Fiddler中看到HTTPS请求(如果我想通过Fiddler的设置解码)。

  2. 我复制了一段代码new WebProxy("127.0.0.1", 8888);以使其工作,因此它必须与代理有关?

  3. 这是一个ASP.NET应用程序,以防万一。

3 个答案:

答案 0 :(得分:16)

真的很老问题但是:

虽然答案和评论暗示了正确的解决方案,但他们远未回答这个问题。

Fiddler通过您的用户帐户查看流量。由于Web服务由应用程序池标识运行,因此fiddler无法查看其流量。

最简单的解决方案(也是唯一适合我的解决方案)是更改网站应用程序池用户以在您的帐户下运行

简单地:

  1. 打开IIS
  2. 找到您的网站应用程序池名称(右键单击网站 - >管理网站 - >高级设置 - >在应用程序池下列出)
  3. 转到应用程序池高级设置(应用程序池 - >右键单击所需的应用程序池 - >高级设置)
  4. 将用户帐户更改为您的帐户(身份 - > ... - >自定义帐户 - >设置)

答案 1 :(得分:2)

如上所述:

  

第一段只是我需要的解释:当Fiddler启动并附加时,它会调整当前用户的代理设置以指向Fiddler,默认情况下运行在127.0.0.1:8888。这意味着来自大多数应用程序的流量自动流经Fiddler而无需任何其他配置步骤。虽然我想我也应该感谢Eric,因为他似乎是编写它的人!

<强>参考

答案 2 :(得分:-1)

在配置中添加以下内容也是一种解决方案。

 <system.net>
  <defaultProxy enabled = "true">
    <proxy bypassonlocal="false" proxyaddress="http://127.0.0.1:8888" />
  </defaultProxy>
</system.net>

此外,如果来自Web服务的流量指向同一localhost中的另一个应用程序,请尝试在请求URL中使用计算机名称而不是 localhost