Mark Needham

Thoughts on Software Development

Using Fiddler with IIS

with 6 comments

We’ve been using Fiddler to debug the requests and responses sent via web services to a service layer our application interacts with and it works pretty well when you run the application using Cassini but by default won’t work when you run the website through IIS.

The key to this as one of my colleagues (who gives credit to Erik) showed me today is to ensure that IIS is running under the same user that Fiddler is running under which in our case is the ‘Administrator’ account.

The default user for IIS is ‘Network Service’ but as far as I’m aware you can’t actually launch an application such as Fiddler from that account.

We therefore changed IIS to run under the ‘Administrator’ account on local development machines since this is where we typically use Fiddler.

To do this we need to:

  • Create a new application pool by going to the ‘Application Pool’ menu in IIS Manager and setting the ‘Identity’ of the new pool to be the Administrator account.
  • Change the application pool for our application to match that new application pool.
  • Go to ‘Computer Management > Local Users and Groups > IIS_WPG’ and add the Administrator as a user of that group.

Fiddler should now capture requests/responses!

I’m not sure running IIS as the Administrator account is such a great idea although it’s only on the local development environment so maybe it’s a reasonable trade off for the benefits we get from being able to debug web service communication.

Written by Mark Needham

June 24th, 2009 at 5:46 pm

Posted in .NET

Tagged with ,

  • Anton

    I have only one issue with Fiddler. It does not work with requests to localhost. When I add my local site to host list (‘hosts’ file) then it works. I think that the official site mentions about it.

  • Pingback: Fiddler: Trying to work out how it all hooks together at Mark Needham

  • JB

    @Anton: try “http://localhost./” ;-)

  • http://ggktech.com Rohan Reddy

    Check below link to capture local traffic:
    http://www.fiddlertool.com/Fiddler/help/hookup.asp#Q-LocalTraffic

  • Wiryadi

    I think there is misunderstanding here.

    So here is the scenario, browser initiated the request, then ASP.NET code make another call to external web service.

    What Mark wanted to capture is the traffic from ASP.NET code to the external web service. Not the the browser request.

    The IIS/ASP.NET was the localhost and fiddler was activated on the same localhost .

  • Francis Marasigan

    On our .net web application, we use this settings on config file for our development machines.