Why can't Fiddler see my web service traffic?

只愿长相守 提交于 2019-12-04 18:52:52

问题


I had a problem that Fiddler wasn't showing my web service calls made from my application (running locally). I found and solved my problem.

So my question is not how, but why does Fiddler not show web service traffic? I have a very limited understanding of how network traffic works so this might be quite simple/obvious. All I'm able to decipher is:

  1. I don't think it has anything to do with HTTPS, as I can see HTTPS requests in Fiddler (decoded if I want through Fiddler's settings).

  2. I copied a piece of code new WebProxy("127.0.0.1", 8888); in order to get it to work so it must have something to do with proxies?

This is an ASP.NET application in case that makes a difference.


回答1:


Really old question but:

While the answer and comments hint towards the right solution, they are far from answering the question.

Fiddler sees traffic by your user account. Since web services run by the application pool identity, fiddler cannot see their traffic.

The easiest solution (and the only one that worked for me) is to change the website application pool user to run under your account

Simply:

  1. Open IIS
  2. Find your website application pool name (right click website -> Manage Website -> Advanced Settings -> Listed under Application Pool)
  3. Go to application pool advanced settings (Application Pools -> Right click your desired application pool -> Advanced Settings)
  4. Change User Account to your account (Identity -> ... -> Custom Account -> Set)



回答2:


As noted above:

That first paragraph was just the explanation I needed: When Fiddler launches and attaches, it adjusts the current user’s proxy settings to point at Fiddler, running on 127.0.0.1:8888 by default. That means that traffic from most applications automatically flows through Fiddler without any additional configuration steps. Although I guess I should also thank Eric as he appears to be the one who wrote it!

References

  • Capturing Traffic for .Net Services with Fiddler



回答3:


adding the following content inside the config is also a solution.

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

Also, if the traffic from the web service is pointing to another application in same localhost, try using the machine name instead of localhost in the request url.



来源:https://stackoverflow.com/questions/18913729/why-cant-fiddler-see-my-web-service-traffic

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!