views:

702

answers:

5

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"/&gt;
    </defaultProxy>
  </system.net>
A: 

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
Prashant
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.
JohnIdol
Did you try with stopping the windows firewall ?
Prashant
yep - with no luck!
JohnIdol
A: 

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.

Stephen Dolier
I've got an IP:portNo/mywebservice - web service is not hosted on my local machine
JohnIdol
A: 

I ran into this issue a week or so ago. Try this FAQ page: http://www.fiddler2.com/fiddler/help/hookup.asp#Q-LocalTraffic

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

daub815
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)
JohnIdol
+2  A: 

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.fiddler2.com/fiddler/help/hookup.asp#Q-DOTNET

EricLaw -MSFT-
Eric - I am getting a Trend Micro warning when trying to access http://www.fiddler2.com/ do you know what that is about? It says "Rating: Dangerous" I thought you should know!
Martin Smith
Looks like "Sunbelt Software" have filed something against the site... http://www.stopbadware.org/reports/33738c3a79f677f9224c38c35eb3c309
Martin Smith
@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.
JohnIdol
also - if the proxy wasn't properly configured I would expect to see none of the traffic
JohnIdol
You should probably upgrade to security software that's less prone to obvious false positives. http://blogs.msdn.com/fiddler/archive/2010/05/08/No-the-Fiddler-Web-Debugger-is-NOT-a-virus-or-malware-or-anything-evil.aspx
EricLaw -MSFT-
@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?
JohnIdol
Are you saying that your ASP.NET project's requests for http://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?
EricLaw -MSFT-
I see localhost traffic from browser to IIS (i.e. GET http://localhost/mySite/MyStartPage.aspx200 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 http://XXX.XX.XXX.XXX:9080/WebServiceDomain/myService500 OK (text/xml) etc
JohnIdol
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 traffic
JohnIdol
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.
EricLaw -MSFT-
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 bummer
JohnIdol
Just set the defaultproxy property in web.config instead of the appname.exe.config file:http://www.fiddler2.com/fiddler/help/hookup.asp#Q-DOTNET
EricLaw -MSFT-
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 fiddler
JohnIdol
@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:8888
EricLaw -MSFT-
will try that - thanks
JohnIdol
setting explicitly the proxy (as per edit) did the trick - thanks for helping!
JohnIdol
A: 

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

marr75