Capturing IIS / ASP.NET traffic in Fiddler
Posted on Monday, 25th April 2016
Recently, whilst debugging an issue I needed to capture the traffic being sent from my local application to an external RESTful web service. In this instance, I needed to see the contents of a JWT token being passed to the service to verify some of the data. Thankfully, Fiddler by Telerik is just the tool for the job.
What is fiddler?
Fiddler is a super powerful, free web debugging proxy tool created by the guys and girls at Telerik. Once launched, Fiddler will capture all incoming and outgoing traffic from your machine, allowing you to analyse traffic, manipulate HTTP (and HTTPS!) requests and perform a whole host of traffic based operations. It’s a fantastic tool for debugging and if you don’t have it I’d highly recommend you take a look at it. Did I say it’s 100% free too?
Capturing ASP.NET / IIS Traffic
By default, Fiddler is configured to register itself as the system proxy for Microsoft Windows Internet Services (WinInet) - the HTTP layer used by IE (and other browsers), Microsoft Office, and many other products. Whilst this default configuration is suitable for the majority of your debugging, if you wish to capture traffic from IIS (which bypasses WinInet), we’ll need to re-route our IIS traffic through Fiddler by modifying our application’s Web.config.
Step 1: Update your Web.config
To do this, simply open your Web.config and add the following snippet of code after the
<system.net>
<defaultProxy enabled="true">
<proxy proxyaddress="http://127.0.0.1:8888" bypassonlocal="False"/>
</defaultProxy>
</system.net>
Step 2: Configure Fiddler to use the same port
Now that we’ve routed our IIS traffic through port 8888, we have to configure Fiddler to listen to the same port. To do this simple open Fiddler, go to _Tools > Fiddler Options_ > Connections then change the port listed within the “Fiddler listens on port” setting to 8888.
Now if you fire up your application you’ll start to see your requests stacking up in Fiddler ready for your inspection.
Happy debugging!
Enjoy this post? Don't be a stranger!
Follow me on Twitter at @_josephwoodward and say Hi! I love to learn in the open, meet others in the community and talk Go, software engineering and distributed systems related topics.