Fiddler
network monitoring
domain filtering
web debugging
HTTP requests

Filtering fiddler to only capture requests for a certain domain

Master System Design with Codemia

Enhance your system design skills with over 120 practice problems, detailed solutions, and hands-on exercises.

Introduction

Fiddler becomes hard to use once it starts showing every request from the browser, background services, extensions, and telemetry endpoints. If your real target is one hostname such as api.example.com, the fastest improvement is to filter traffic by host so the session list only shows what matters.

There are two slightly different goals here. One is show only this domain in the UI. The other is actively hide or drop everything else. Fiddler supports both, but they are configured differently.

The Fastest Option: Use the Filters Tab

If you just want to work on one domain without visual noise, use the built-in host filter:

  1. Open the Filters tab.
  2. Check Use Filters.
  3. In the Hosts section, choose Show only the following Hosts.
  4. Enter the hostname, for example api.example.com.

That immediately narrows the session list to matching hosts.

This is the safest starting point because it is reversible and requires no scripting. For many debugging sessions, that is all you need.

What the Host Filter Actually Does

A common misunderstanding is thinking the UI filter changes how Fiddler proxies traffic. In normal usage, it mostly changes what you see, not what the machine sends or what Fiddler is technically able to inspect.

That distinction matters when you are debugging performance or privacy concerns. If the goal is simply to focus on one domain, UI filtering is fine. If the goal is to hide, mark, or ignore all other sessions programmatically, use FiddlerScript.

Filtering With FiddlerScript

FiddlerScript lets you manipulate sessions during capture. A practical pattern is to hide everything that does not match your host:

javascript
1import System;
2import Fiddler;
3
4class Handlers
5{
6    static function OnBeforeRequest(oSession: Session) {
7        if (!oSession.hostname.Equals("api.example.com")) {
8            oSession["ui-hide"] = "true";
9        }
10    }
11}

With that rule, non-matching sessions are hidden automatically in the UI.

If you want a broader match, use suffix logic:

javascript
1if (!oSession.hostname.EndsWith(".example.com") &&
2    !oSession.hostname.Equals("example.com")) {
3    oSession["ui-hide"] = "true";
4}

That catches subdomains such as cdn.example.com and auth.example.com.

Exact Domain Versus Subdomain Matching

Be precise about what you want to include.

These are different cases:

  • 'example.com'
  • 'api.example.com'
  • Any host ending in .example.com

If you use an exact host filter but your application actually calls www.example.com or auth.example.com, you may think Fiddler is broken when the filter simply does not match the right hostnames.

During the first pass, it is often better to filter broadly to the parent domain, then narrow once you confirm the real traffic pattern.

HTTPS Considerations

For HTTPS traffic, Fiddler still needs HTTPS decryption enabled if you want to inspect request and response details. Domain filtering does not replace certificate trust or TLS interception settings.

So if the filter looks correct but you still do not see useful content:

  • Check that Fiddler is actually capturing traffic.
  • Confirm HTTPS decryption is enabled if needed.
  • Make sure the client application is really using the system proxy or Fiddler proxy.

Filtering only changes visibility. It does not fix capture configuration problems.

A Good Workflow

A practical workflow for debugging one domain is:

  1. Clear the current session list.
  2. Apply a host filter or ui-hide rule.
  3. Reproduce the request.
  4. Verify the real hostnames being used.
  5. Tighten the filter if necessary.

That avoids chasing stale sessions from earlier activity.

Common Pitfalls

The most common mistake is filtering by the wrong hostname. Many applications hit APIs, CDNs, auth services, and redirects on different domains, so the one you typed may not be the one carrying the request you care about.

Another common issue is assuming the filter prevents traffic from happening. It usually just changes what is displayed in the Fiddler UI.

People also forget about subdomains. Filtering on example.com does not automatically mean api.example.com unless the filter mode or script explicitly handles it.

Finally, if HTTPS decryption is disabled, you may see sessions but not the content you expected. That is a capture configuration issue, not a host-filter issue.

Summary

  • Use the Filters tab for the fastest way to show only one host in Fiddler.
  • Use FiddlerScript when you want automatic host-based hiding rules.
  • Decide whether you want exact host matching or parent-domain plus subdomains.
  • Host filtering usually affects visibility in the UI, not the underlying network traffic.
  • If results still look wrong, verify the real hostname and HTTPS capture settings first.

Course illustration
Course illustration

All Rights Reserved.