Fiddler的进程过滤

17

有没有办法在 Fiddler 中过滤掉某些进程?目前很嘈杂,我不想它只显示一个进程。


1
可能是过滤Fiddler流量的重复问题。 - Paŭlo Ebermann
2个回答

33

内置的仅显示流量来源选项在您的进程从不退出并且始终具有相同的PID时非常有用。在我的情况下,我的HTTP客户端经常启动和退出,因此我添加了这个自定义FiddlerScript。

转到规则>自定义规则...开始编辑CustomRules.js

将以下内容添加到Handlers类中

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
}

将此代码添加到 OnBeforeRequest 函数中

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
}

只要保存 CustomRules.js 文件,Fiddler 就会立即应用您的更改。

使用时,请进入 Rules > Process Filter 并选择一个浏览器,或者使用 Custom 并键入您的可执行文件的基本名称(例如,iexplore)。

筛选适用于在选择进程之后启动的请求。以前的请求和 Fiddler Composer 请求不受影响。


有意思。谢谢。我得试一试。 - Jordan
谢谢。这是一个相当常见的问题,所以我有点惊讶在过滤器界面中他们不允许我们使用通配符,比如“python:*”。或者至于多个客户端进程的过滤也是同样的情况。也许这是下一个更新需要考虑的事情。 - Stephen
1
这个解决方案可能需要进行编辑,因为像 RulesStringValue 这样的内容已经出现在最新的默认脚本中了。也许他们从这个答案中借鉴了一些东西。在我的情况下,我的目标只是展示任何以 python 或 pythonw 开头的进程,并且我仅使用第二个片段的修改版本就实现了这一点(请注意,您需要 sProcessName,所以您可能需要自己定义它)。 - Stephen
谢谢,运行得非常完美。由于浏览器具有多个进程,仅通过PID定位到一个特定进程的内置选项并不是很有用。 - LordWabbit

5

基本上是一个Filter Fiddler traffic的副本。只需在Fiddler的过滤器选项卡中选择“客户端进程”字段集,然后选择“仅显示来自”的选项并选择适当的进程即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接