Video icon
Video Tutorials
Fiddler Logo Use FiddlerCap to capture SAZ Files which can be emailed to experts for debugging purposes
Try FiddlerCap
The simple traffic capture tool
RSS Icon Get Fiddler! Addons Help & Documentation Developer Info Discuss Contact

Fiddler icon Configuring clients

Can I monitor RAS, VPN, or dialup connections?

How do I configure an application to use Fiddler?
Can I configure Fiddler to debug traffic from another machine, say a Mac or Unix box?
How can I configure other browsers to use Fiddler?
Can I configure IEMobile on PocketPC to use Fiddler?
How can I configure a WinHTTP application to use Fiddler?

How can I configure a .NET application to use Fiddler?
How can I configure a PHP/CURL application to use Fiddler?
How can I configure a Java application to use Fiddler?

Why don't I see traffic sent to http://localhost or http://127.0.0.1?

Can Fiddler "chain" to an upstream proxy?

How do I configure an application to use Fiddler?

Fiddler is an HTTP Proxy running on port 8888 on your local PC.  You can configure any application which accepts a HTTP Proxy to run through Fiddler so you can debug its traffic.

WinINET-based applications (E.g. Microsoft Office, Internet Explorer, etc) should automatically use Fiddler while it's running and the "Capture Traffic" box is checked on the Fiddler File menu.

If they do not, they can be configured to use Fiddler by setting the appropriate option in the Internet Explorer Tools | Internet Options | Connections | LAN Settings dialog.  (You can also get to this dialog in the Tools | Internet Options menu inside Fiddler). 

Can I monitor RAS, VPN, or dialup connections? 

Fiddler 2.2.0.3 and later introduces a new option which enables automatic monitoring of dialup or VPN connections:

Monitor All Connections Option

Otherwise, you'll need to set the Proxy Configuration manually. Set the proxy for your VPN/dialup connection as follows: 

     Dialup Settings UI

Alternatively, you can set the "Use automatic configuration script" option as described in the "Other browsers" tip below.

Note: If you always have an active VPN or dialup connection, set the HookConnectionNamed registry value to the name of the Connection (e.g. "Dial-up Connection" in the above screenshot).  When you do this, Fiddler will hook this connection instead of the LAN connection.

Registry Editor screenshot

Note: IE will always use the proxy settings from any active VPN connection, without regard to whether or not that VPN connects to the Internet. 

How can I configure a .NET application to use Fiddler?

If you're coding a .NET application, K Scott Allen's blog shows a simple way to hook Fiddler temporarily for debugging purposes:

GlobalProxySelection.Select = new WebProxy("127.0.0.1", 8888);

Note that you might not even need to do this-- The Framework should autodetect the WinINET proxy when the .NET application starts.  Note that this means that Fiddler must be started BEFORE your application if your application is to autodetect Fiddler.

You may specify a proxy inside the yourappname.exe.config file.

<configuration>
  <
system.net>
    <
defaultProxy>
      <
proxy bypassonlocal="false" usesystemdefault="true" />
    </
defaultProxy>
  </
system.net>
</configuration>

See http://msdn.microsoft.com/en-us/magazine/cc300743.aspx for more on this topic.

Another setting to check is inside machine.config. Ensure the following is present:

<proxy usesystemdefault="true" />

If all else fails, you can manually specify the proxy on an individual WebRequest object, like so:

objRequest = (HttpWebRequest)WebRequest.Create(url);
objRequest.Proxy= new WebProxy("127.0.0.1", 8888);

Important: Regardless of other settings, .NET will always bypass the Fiddler proxy for URLs containing localhost.  So, rather than using localhost, change your code to refer to the machine name.  For instance:

Does not show in Fiddler: http://localhost/X509SignCodeService/X509SigningService.asmx

Shows in Fiddler: http://mymachine/X509SignCodeService/X509SigningService.asmx

How can I configure a PHP/CURL application to use Fiddler?

curl_setopt($ch, CURLOPT_PROXY, '127.0.0.1:8888');

How can I configure a Java application to use Fiddler?

Per http://www.davidreilly.com/java/java_network_programming/#2.4 you should be able to do something like:

jre -DproxySet=true -DproxyHost=127.0.0.1 -DproxyPort=8888 MyApp

Why don't I see traffic sent to http://localhost or http://127.0.0.1?

Internet Explorer and the .NET Framework are hardcoded not to send requests for Localhost through any proxies, and as a proxy, Fiddler will not receive such traffic.

The simplest workaround is to use your machine name as the hostname instead of Localhost or 127.0.0.1. So, for instance, rather than hitting http://localhost:8081/mytestpage.aspx, instead visit http://machinename:8081/mytestpage.aspx. 

...Or, just use http://ipv4.fiddler to hit localhost on the IPv4 adapter, or use http://ipv6.fiddler to hit localhost on the IPv6 adapter.  This works especially well with the Visual Studio test webserver (codename: Cassini) because the test server only listens on the IPv4 loopback adapter.

Lastly, you could update your Rules file like so:

static function OnBeforeRequest(oSession:Fiddler.Session){
 
  if
(oSession.HostnameIs("MYAPP")) { oSession.host = "127.0.0.1:8081"; }
}

...and then just hit http://myapp, which will act as an alias for 127.0.0.1:8081.

Note: You shouldn't ever encounter the "Localhost traffic not captured" problem with Firefox. The FiddlerHook add-on for Firefox removes "localhost" from the "bypass proxy" list when Fiddler is in "Capturing" mode.

How can I configure a WinHTTP application to use Fiddler?

You can either directly configure the WinHTTP application to point to Fiddler, in code, or you can use the following command at the command prompt to tell WinHTTP to use Fiddler:

On XP or below:

proxycfg -p http=127.0.0.1:8888;https=127.0.0.1:8888

...or this one to force WinHTTP to use WinINET's proxy settings:

proxycfg -u

On Vista or above:

netsh winhttp set proxy 127.0.0.1:8888

 

Can I configure IEMobile on PocketPC to use Fiddler?

Yes.  This works over desktop-passthrough (ActiveSync connection).

On the device, set the HTTP proxy to be ppp_peer:8888
On your desktop, open port 8888 in Windows Firewall (Control Panel)
ActiveSync->Connection Settings… This Computer is connected to: Work Network
(Automatic will clobber the setting you did from #1)
Start Fiddler as you normally would
Tools->Fiddler Options… check “Allow remote clients to connect” (Restart Fiddler)
Connect your device to ActiveSync, fire up IEMobile and browse away…

Can I configure Fiddler to debug traffic from another machine (even a Mac or Unix box)?

Yes. 

1. Start Fiddler on a Windows machine named (for example) WINBOX1.
2. In Fiddler, click to make sure Tools / Fiddler Options / Allow remote clients to connect is checked.
(Restart Fiddler if this box wasn't already checked.)
3. On the other machine (Mac/Unix/Windows) set the proxy settings to WINBOX1:8888.

Internet Control Panel Proxy Server UI

The second machine will now send its traffic through Fiddler running on WINBOX1.

How can I configure other browsers to use Fiddler?

Current versions of Internet Explorer, Google Chrome, Apple Safari, and Opera all automatically use Fiddler when Fiddler is configured to Capture Traffic.  (Opera requires that you start Fiddler before starting Opera).

Every browser allows you to connect a proxy server; usually this is the Options (or Preferences) menu.  You can either point directly at Fiddler (address: 127.0.0.1, port: 8888), or you can use Proxy Auto-configuration.

The advantage of auto-configuration is that Fiddler rewrites the configuration script when it is attached and detached, meaning you shouldn't need to manually enable or disable the proxy in your client depending on whether or not Fiddler is loaded.  Simply restart the browser and the new setting is detected.

To configure Firefox to point at Fiddler, click Tools / Options / Advanced / Network / Settings, and adjust the settings like so:

Firefox proxy autoconfig UI 

You can get the correct auto-configuration URL from Fiddler by clicking Tools / Fiddler Options / Connections, and clicking the "Copy Browser Proxy Configuration URL" link.

Copy Configuration URL UI

 

Can Fiddler "chain" to an upstream proxy?

Yes, all current versions of Fiddler support chaining to upstream proxies (either autodetected or manually specified).

So, you end up with an architecture like so: 

Fiddler proxy chaining diagram

Note that Fiddler does not support upstream proxy configuration scripts that are accessed using the FILE:// protocol, only those accessed using the HTTP or HTTPS protocols (so far, no one seems to have hit this limitation in the last 6 years).

To see what proxy Fiddler will chain to by default:

  1. Close Fiddler.
  2. Inside IE, choose Tools | Internet Options | Connections.
  3. Click the "LAN Settings" button.
  4. On the dialog, examine the options:
    Internet Explorer proxy configuration UI
  5. After you restart Fiddler, choose Help | About Fiddler. 
  6. You should see the upstream proxy listed in the About box.

< Back to Help Homepage


©2010 Microsoft Corporation