17

Is there a way to filter out certain processes in Fiddler? Its very noisy currently, and I don't want it to show just one process.

EricLaw
  • 56,563
  • 7
  • 151
  • 196
Jordan
  • 9,642
  • 10
  • 71
  • 141

2 Answers2

32

The built-in Show only traffic from option is useful if your process never exits and always has the same PID. In my case, my HTTP client was starting and exiting frequently, so I added this custom FiddlerScript.

Go to Rules > Customize Rules... to start editing CustomRules.js.

Add this inside the Handlers class

class Handlers
{
    RulesString("&Process filter", true)
    RulesStringValue(0, "&Chrome", "chrome")
    RulesStringValue(1, "&Firefox", "firefox")
    RulesStringValue(2, "&Internet Explorer", "iexplore")
    RulesStringValue(3, "&Opera", "opera")
    RulesStringValue(4, "&PhantomJS", "phantomjs")
    RulesStringValue(5, "&Custom...", "%CUSTOM%")
    public static var sProcessName: String = null;

    // leave the rest of the Handlers class as-is
}

Add this inside the OnBeforeRequest function

static function OnBeforeRequest(oSession: Session) {
    if (null != sProcessName) {
        var processInfo = oSession["X-PROCESSINFO"];
        if(!processInfo || !processInfo.StartsWith(sProcessName + ":")){
            oSession["ui-hide"] = "true";
            FiddlerObject.StatusText = " Process filter: " + sProcessName;
        }
    }

    // leave the rest of the OnBeforeRequest function as-is
}

Fiddler will apply your changes as soon as you save the CustomRules.js file.

To use, go to Rules > Process Filter and choose a browser, or use Custom and type in your executable's basename (e.g. iexplore).

Filtering applies to requests that start after you choose a process. Previous requests and Fiddler Composer requests are not affected.

Ben Hutchison
  • 4,823
  • 4
  • 26
  • 25
  • Interesting. Thanks. I'll have to try this. – Jordan Jan 22 '15 at 14:44
  • Thanks for this. This is a pretty common issue, so I'm a little surprised in the Filters interface they don't just let us use wildcards like "python:*". Or filter from multiple client processes for that matter. Something for the next update, maybe. – Stephen Jul 13 '17 at 17:00
  • 1
    This solution might need to be edited since RulesStringValue's like these already appear in the latest default scripts. Maybe they took a page from this answer. In my case, my goal was just to show anything from a process beginning with python or pythonw, and I accomplished that with a modified version of the second snippet only (note that you'll need sProcessName so you might want to define that on your own). – Stephen Jul 13 '17 at 17:33
  • Thank you, works perfectly. With browsers having multiple processes the built in option to target only one specific process by PID is not very helpful. – LordWabbit Jun 07 '21 at 09:40
5

Basically a duplicate of Filter Fiddler traffic . Just go to the Filters tab in Fiddler and then the "Client Process" fieldset and then choose "Show only traffic from " and choose the appropriate process.

Community
  • 1
  • 1
Chad
  • 3,159
  • 4
  • 33
  • 43