Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why can't Fiddler see my web service traffic?

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.

like image 452
Chris Avatar asked Sep 20 '13 09:09

Chris


People also ask

Why is Fiddler not capturing traffic?

NET Framework are hardcoded not to send requests for Localhost through any proxies, and as a proxy, Fiddler Classic will not receive such traffic. This behavior was changed for Internet Explorer 9 in the Release Candidate build. IE9 RC allows Fiddler Classic to proxy traffic sent to localhost or 127.0.

Does Fiddler only capture browser traffic?

Currently, Fiddler Everywhere supports preconfigured browser capturing only for Chromium browsers. The feature is useful when you need to capture browser traffic, but your environment doesn't allow you to change the system proxy or install and trust root certificates.

How do you check traffic on Fiddler?

In Fiddler, click the File menu. Ensure Capture Traffic is enabled.


1 Answers

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)
like image 55
Jaqen H'ghar Avatar answered Sep 30 '22 22:09

Jaqen H'ghar