Nicolae Daian
Nicolae Daian

Reputation: 1145

Fiddler capturing traffic from a specific process stopped working in Chrome

  1. Open Chrome and navigate to google.com
  2. In Fiddler use the "Any Process" button to select that Chrome tab
  3. In Fiddler the "Any Process" button changes to something like "chrome: 11788"
  4. In the Chrome tab search for something

I expect traffic to be captured by Fiddler but no sessions are displayed. If I use "Any Process", traffic is captured from all applications.

The "Use Filters" checkbox is unchecked in the Filters tab.

I uninstalled and reinstalled Fiddler.

I have the latest version installed.

What else could I do?

Upvotes: 1

Views: 934

Answers (2)

Saurabh R S
Saurabh R S

Reputation: 3177

Detailed version: Why Fiddler's Process Picker tool doesn't work with Chrome anymore

Brief version: For security and performance reasons Chrome now handles network requests through a separate network service. So when you are pointing the 'Any Process' tool of Fiddler on any Chrome window/tab, you are actually pointing to the UI (browser process) of Chrome browser.

There is one quick workaround for this:

  1. Navigate to chrome://flags/#network-service-in-process in your Chrome browser. You would see Runs network service in-process and its value would be set to Default.
  2. Change the value from Default to Enabled. By doing this you are telling Chrome to handle network requests from the browser process which also handles the UI.
  3. Restart Chrome. You should now be able to capture network requests by pointing the Any Process tool on any Chrome tab.

Once you are done with your development activities do not forget to set the flag back to Default. This would give better performance.

NOTE: At the point of writing this, I am using Chrome 84.

Upvotes: 0

Borislav Ivanov
Borislav Ivanov

Reputation: 5360

Modern versions of Google Chrome use separate process for making requests; so the process of the main window, detected by the 'Any Process' tool, is different.

The team is considering a fix, but it is currently not implemented, see "Target Any Process" feature no longer working with Chrome.

Possible workarounds meanwhile are:

  • Use other filtering functionality - e.g. capture a request from Chrome, and from the Sessions view choose right click -> Filter now -> Show only process=<process number>.

  • Filter everything else. In Fiddler, uncheck Tools -> Options -> Connections -> Act as system proxy on startup. Then Start Chrome with manually specified proxy settings, pointing to the port on which Fiddler is listening:

    chrome --proxy-server=http://localhost:8888
    

    This way the only captured traffic will be from this instance of Chrome.

Upvotes: 1

Related Questions