153

When using Fiddler to monitor HTTP Requests & Responses in Internet Explorer it ignores all traffic directed to http://localhost.

NotMyself
  • 29,209
  • 17
  • 56
  • 74

15 Answers15

103

To get Fiddler to capture traffic when you are debugging on local host, after you hit F5 to begin degugging change the address so that localhost has a "." after it.

For instance, you start debugging and the you have the following URL in the Address bar:

http://localhost:49573/Default.aspx

Change it to:

http://localhost.:49573/Default.aspx

Hit enter and Fidder will start picking up your traffic.

NotMyself
  • 29,209
  • 17
  • 56
  • 74
94

Fiddler's website addresses this question directly.

There are several suggested workarounds, but the most straightforward is simply to use the machine name rather than "localhost" or "127.0.0.1":

http://machinename/mytestpage.aspx
EricLaw
  • 56,563
  • 7
  • 151
  • 196
Matt Dillard
  • 14,677
  • 7
  • 51
  • 61
  • Not sure why Fiddler's website does not suggest the "adding a period after localhost" suggestion, which I think is the best one. This is especially true in some server environments I work in where localhost is the only thing I can use (due to ActiveX controls, permissions, and whatnot). – Josh Mouch Jul 18 '14 at 15:21
  • 3
    @JoshMouch Because some webservers reject `localhost.` as an invalid hostname. – Aaron Jensen Jan 18 '17 at 21:49
  • 4
    `localhost.` and `machinename` is rejected in my case. – The Muffin Man Jan 26 '18 at 19:43
  • 3
    As noted, "localhost." doesn't work on many APIs (or 127.0.0.1). I used the "http://localhost.fiddler" modification which worked perfectly for me. – Vman May 07 '19 at 14:12
  • 1
    MachineName is preferred for my some cases, 127.0.0.1 can be refused by IIS – lyolikaa Aug 02 '22 at 11:44
46

Fiddler v4.5.1.0 will allow you to go to replace "localhost" with "localhost.fiddler", and present localhost as the host name for the receiving server running on your machine.

This avoids "host not recognised" errors when connecting to WCF services with the built in web server that visual studio uses.

i.e. Instead of http://localhost:51900/service.wcf you can use http://localhost.fiddler:51900/service.wcf

Jonathan
  • 25,873
  • 13
  • 66
  • 85
44

The correct answer is that it's not that Fiddler ignores traffic targeted at Localhost, but rather that most applications are hardcoded to bypass proxies (of which Fiddler is one) for requests targeted to localhost.

Hence, the various workarounds available: http://fiddler2.com/documentation/Configure-Fiddler/Tasks/MonitorLocalTraffic

EricLaw
  • 56,563
  • 7
  • 151
  • 196
  • 1
    as of April 2013: http://fiddler2.com/documentation/Configure-Fiddler/Tasks/MonitorLocalTraffic p.s. thanks for the awesome tool Eric. – Pete Apr 15 '13 at 16:45
  • The adding-a-period-to-the-end-of-localhost is the best trick, and fiddler's site doesn't mention that one. – Josh Mouch Jul 18 '14 at 15:23
  • Tried the other various solutions on this page: Adding a period, changing the hostname from 'localhost" to my machine name. Neither worked. Replacing "localhost" with "ipv4.fiddler", mentioned in the workarounds document, worked. – Simon Elms Mar 13 '15 at 05:05
  • In situations where the address is encoded in the project files that sit in a source code library, distributed to all devs (think Mercurial/Git) in a team, or that all dev's don't actually have fiddler these solutions are unrealistic and cause more problems than they solve. What is needed is a way for fiddler to operate that is outside of a project and therefore have zero impact on taht project or its configuration. – user2960136 Aug 05 '16 at 12:00
  • True in my case. I sent a SOAP HTTP request using SOAP-UI, Fiddler 4 wasn't getting it. Then I sent the same HTTP request using POSTMAN and successfully got it – Jérôme MEVEL Dec 11 '20 at 11:05
8

Internet Explorer has a new feature since IE9 RC: adding <-loopback> to the proxy bypass list causes WinInet (the network library used by IE) to send requests destined for localhost and 127.0.0.1 through the defined proxy.

Here's the original announcement by @EricLaw: http://blogs.msdn.com/b/fiddler/archive/2011/02/10/fiddler-is-better-with-internet-explorer-9.aspx

Piskvor left the building
  • 91,498
  • 46
  • 177
  • 222
5

For Fiddler to capture traffic from localhost on local IIS, there are 3 steps (It worked on my computer):

  1. Click Tools > Fiddler Options. Ensure Allow remote clients to connect is checked. Close Fiddler.

enter image description here

  1. Create a new DWORD named ReverseProxyForPort inside KEY_CURRENT_USER\SOFTWARE\Microsoft\Fiddler2. Set the DWORD to port 80 (choose decimal here). Restart Fiddler.

enter image description here

  1. Add port 8888 to the addresses defined in your client. For example localhost:8888/MyService/WebAPI/v1/
ozanmut
  • 2,898
  • 26
  • 22
  • Yes, this settings makes the fiddler running as reverse proxy, such that it forwards inbound requests to a different port. In this example it forwards requests made to port 8888 to 80. – ozanmut Apr 18 '15 at 14:24
  • The most complex to me was to fully ignore localhost and send all the other traffic to being processed by fiddler. You must bypass localhost, BUT also, exclude it withing your functions. (you can try with hide 304 rule for testing purpose.). So i ended excluding it the following way `if ((m_EnableProxy) && !(oSession.host =="127.0.0.1" || oSession.host =="localhost" || oSession.host =="ipv4.fiddler")) { oSession["X-OverrideGateway"] = "socks=127.0.0.1:8080"; oSession["ui-backcolor"] = "#EFEF9F"; }`. This function should be onBeforeRequest. – m3nda Apr 18 '15 at 19:11
4

Using Fiddler v4.6 and the default configuration could not see any traffic from 'localhost'. Tried many suggestions here but nothing worked.

Enabled Help -> Troubleshot and could see many more requests. Sessions were marked in a strike-through font and reason given was 'Hidden due to Status Bar> Process Filter.'

Found this reply from Eric Lawrence to person having same problem http://www.telerik.com/forums/fiddler-not-capturing-ios-traffic-even-though-echo-service-works

basically what to do is: Look at the Status Bar across the bottom of the Fiddler window, the second little "tray" in that bar probably says something like "Web Browsers." Click that and then change to "All Processes."

Fiddler Status Bar

4

You can use http://ipv4.fiddler or http://ipv6.fiddler instead of localhost

modeeb
  • 431
  • 4
  • 16
3

Don't use localhost in the url!

  • http://localhost:4200/myTestProject

Use like this:


=>=> Click here for further information <=<=

Alper Ebicoglu
  • 8,884
  • 1
  • 49
  • 55
2

Use your local IP address (not 127.0.0.1) instead would work, such as 192.16.0.88 etc. Go to cmd.exe and type ipconfig and you will see it.

alt text

Glorfindel
  • 21,988
  • 13
  • 81
  • 109
schrodinger's code
  • 2,624
  • 1
  • 25
  • 19
2

make sure Monitor all connections is ticked. it does not work for me maybe port is diffren i need yo see httprequest to my site from gmail my site is on win xp and iis5(my own machine)

user88064
  • 77
  • 1
  • 1
  • 6
0

Windows XP:

Be sure to set to click the settings button for each of the items in the "Dial-up and Virtual Private Network settings" listbox in the "Connections" tab of the "Internet Options" control panel applet.

I noticed that Fiddler would stop using the "LAN settings" configuration once I connected to my VPN. Even if the traffic wasn't going through the VPN.

User1
  • 39,458
  • 69
  • 187
  • 265
0
  • Type ipconfig at the commmand prompt.
  • It will give you your IPv4 Address
  • Replace localhost with your IPv4 Address in the Url when hitting the service.

The traffic will show up in Fiddler under your computer's IP address.

Christian Findlay
  • 6,770
  • 5
  • 51
  • 103
0

Unfortunately none of the suggestions were helpful

Only complete exclusion of localhost from monitoring with following setting:

Open View Menu
  > Preferences
    > Connections
      > Bypass Fiddler for URLs that start with:
        > localhost;127.0.0.1
Steven Pribilinskiy
  • 1,862
  • 1
  • 19
  • 21
  • Unfortunately that stopped working too. The official guide is useless https://docs.telerik.com/fiddler-everywhere/knowledge-base/capturing-localhost-traffic unless it's for http only. In my case I need to serve over https – Steven Pribilinskiy May 18 '22 at 12:58
-2

Go to Tools, Fiddler Options ..., select the Connections tab, then make sure Monitor all connections is ticked. Like Antony Scott said, but also make sure that the "Web Sessions" pane is set to "Capturing" and [ "Web Browsers" OR "All Processes" ]. Looks like the default is "Non-Browser".

Marcus
  • 111
  • 1
  • 1
  • 10