Fiddler not sniffing SOAP traffic from ASP.NET website
Asked Answered
Z

6

40

So far I've been successfully using fiddler to sniff web service traffic from both test fixtures, console apps and web projects.

Today I noticed I am not able anymore to sniff that kind of traffic if I am running my web application (it's a ASP.NET website, hosted locally on IIS). I see all the local traffic but the web service traffic is just gone (the service is being hit as I do see the response debugging into the code).

I am still able to successfully sniff soap requests and responses from test fixtures or console apps in the same solution (exact same environment).

If it was a windows (I am on Win7) security update or the likes it would never work I guess (unless it affects only traffic routed through IIS).

What should I be looking for that could cause the emergence this behavior?

Any pointers appreciated!

NOTE: I can see local traffic, but not the SOAP request/responses to the web service which is not hosted locally anyway (it's a sandbox another team is providing)

EDIT: This bit of configuration did the trick (found on Rick Strahl's blog)

  <system.net>
    <defaultProxy>
      <proxy
        usesystemdefault="False"
        bypassonlocal="True"
        proxyaddress="http://127.0.0.1:8888"/>
    </defaultProxy>
  </system.net>
Zincography answered 6/5, 2010 at 17:37 Comment(2)
I just noticed that this is probably a dupe. #1938305Nazareth
note a dupe - I can see local traffic, but not the SOAP request/responses to the web service which is not hosted locally (it's a sandbox another team is providing)Zincography
C
20

What's the client of the web service? ASP.NET?

ASP.NET traffic isn't proxied unless you configure ASP.NET to use a proxy. It's possible/likely that the app.config or machine.config changed such that traffic is no longer getting proxied?

You should have a look at this section: http://www.fiddlerbook.com/fiddler/help/hookup.asp#Q-DOTNET

Crossness answered 7/5, 2010 at 14:24 Comment(12)
@Eric yes, the client is ASP.NET. I can see all the local traffic (including calls to locally hosted web services) except service calls to other IPs - this started recently. If I run a test harness that I have in the same solution I can still see the soap request/response traffic to another machine I am looking for.Zincography
also - if the proxy wasn't properly configured I would expect to see none of the trafficZincography
You should probably upgrade to security software that's less prone to obvious false positives. blogs.msdn.com/fiddler/archive/2010/05/08/…Crossness
@Eric can you think of any explanation whatsoever that I see local traffic but I can't see those SOAP request to an external machine - but when working outside of the ASP.NET web project I can see them OK?Zincography
Are you saying that your ASP.NET project's requests for 127.0.0.1-based resources are shown in Fiddler, but requests for resources from other sites by the same project are NOT visible? That's rather odd (unless, of course, you have a filter set to hide such traffic). How are you issuing the HTTP-requests in question?Crossness
I see localhost traffic from browser to IIS (i.e. GET localhost/mySite/MyStartPage.aspx 200 OK (text/html)) but I cannot see traffic from the IIS talking to the remote server that hosts the web service. I am issuing the requests through WCF endpoints, not filtering in any way. I can see the traffic when not running the website but the data sent on is handcrafted as not being generated by my web application leading to troubleshooting difficulties. This is what I'd like to see when running the website --> POST XXX.XX.XXX.XXX:9080/WebServiceDomain/myService 500 OK (text/xml) etcZincography
also another thing I've noticed that might help troubleshoot - if I paste the endpoint url into the browser it shows up OK in the trafficZincography
Right-- so that means that whatever you have running on your IIS server (presumably an ASP.NET application) isn't using Fiddler as a proxy. That isn't surprising, because ASP.NET isn't going to chain to Fiddler by default, unless you manually use web.config or the code itself to point at the Fiddler instance.Crossness
I reverted to WCF logging for the time being - but would u be able to point me to any related documentation for editing the web.config to route traffic through fiddler? i'd rather use fiddler than the built-in logging which is a bummerZincography
I have that on those settings on the WCF binding (bypassonlocal=false and usedefaultproxy=true) but still none of the service calls are being captured by fiddlerZincography
@JohnIdol: The booleans don't matter for ASP.NET because ASP.NET runs in a different user account. So "UseDefaultProxy" means use the Default Proxy for the ASP.NET user account. But when Fiddler is running, it is the default proxy for YOUR user account, not the ASP.NET account. You must explicitly set the defaultproxy property to point at 127.0.0.1:8888Crossness
setting explicitly the proxy (as per edit) did the trick - thanks for helping!Zincography
R
3

If you want to view the http traffic between your web site and your web service on your development machine, and don't want to change your machine.config.

One easy solution is to change the Application Pool Identity of your web site to use your own credentials of the current logged on user. This means that your web site will adopt your proxy settings and will now redirect to Fiddler.

Rabkin answered 22/7, 2014 at 22:51 Comment(2)
And how can I do that? In my IIS there're only these options: LocalService, LocalSystem, NetworkService and ApplicationPoolIdentitySounder
-> Application Pools -> Select the Application Pool -> Advanced Settings -> Identity -> Custom Account -> Enter your credentialsRabkin
D
1

Make sure the web service you are calling (from IE) is not http://localhost/yourwebservice

Fiddler will not intercept localhost traffic from IE, use http://machinename/yourwebservice instead.

Daradarach answered 7/5, 2010 at 2:16 Comment(2)
I've got an IP:portNo/mywebservice - web service is not hosted on my local machineZincography
Didn't knew that Fiddler doesn't capture Localhost traffic. Thanks a lot.Lining
N
1

I ran into this issue a week or so ago. Try this page: http://docs.telerik.com/fiddler/Observe-Traffic/Troubleshooting/NoTrafficToLocalhosthttp://www.fiddler2.com/fiddler/help/hookup.asp#Q-LocalTraffic

The ipv4.fiddler was the part that worked for me. Hope this helps.

Nazareth answered 7/5, 2010 at 2:34 Comment(1)
I see local traffic but not the SOAP request/responses I am looking for - the web service is not hosted locally (it's a sandbox another team is providing I am accessing through a mirror on lan)Zincography
D
0

You're probably using a port other than 80 for these http requests. I remember setting up a reverse proxy to look at WCF requests I was making on my local machine during dev. Here's the documentation: http://www.fiddlertool.com/fiddler/help/reverseproxy.asp

Dungeon answered 7/5, 2010 at 14:28 Comment(0)
G
-2

Can you try the following -

  1. Try stopping the windows firewall and see what happens
  2. try using firefox and redirecting traffic to fiddler and see what happens
Grishilde answered 6/5, 2010 at 19:24 Comment(2)
thx, tried firefox and chrome already (it always worked with chrome but when it stopped working I tried with FF and IE) - no difference. Will try again with Win firewall down 1st thing tomorrow and report back.Zincography
Did you try with stopping the windows firewall ?Grishilde

© 2022 - 2024 — McMap. All rights reserved.