当前位置 博文首页 > 繁华似锦Fighting:『言善信』Fiddler工具 — 5、Fiddler界面布

    繁华似锦Fighting:『言善信』Fiddler工具 — 5、Fiddler界面布

    作者:繁华似锦Fighting 时间:2021-06-09 18:25

    目录
    • 1、会话列表说明
    • 2、会话列表不同颜色的含义
    • 3、会话列表图标说明
    • 4、会话列表应用设置
      • (1)给Fiddler会话列表增加IP列
      • (2)添加自定义列
      • (3)添加完成请求时间
      • (4)其他操作

    1、会话列表说明

    Fiddler抓取到的每条HTTP请求(每一条称为一个session)。

    主要包含了请求的ID编号、状态码、协议、主机名、URL、内容类型、body大小、进程信息、自定义备注等信息。

    如下图所示:

    image

    说明:

    名称 含义
    # 抓取HTTP Request的顺序ID,从1开始,按照页面加载请求的顺序递增。
    Result HTTP响应的状态码。
    Protocol 请求使用的协议,如HTTP/HTTPS/FTP等。
    Host 请求地址的主机名或域名。
    URL 请求资源的位置(包括服务器路径和文件名,也包括GET参数)。
    Body 该请求的大小,以byte为单位。
    Caching 请求的缓存过期时间或者缓存控制,header等值。
    Content-Type 请求响应的类型(Content-Type)。
    Process 发出此请求的Windows进程及进程ID。
    Comments 允许用户为此回话通过脚本或者右键菜单给此session增加的备注。
    Custom 允许用户通过脚本设置自定义值。

    2、会话列表不同颜色的含义

    不同图标和不同颜色的含义,如下图:

    image

    默认颜色的含义如下:

    image

    3、会话列表图标说明

    image

    4、会话列表应用设置

    (1)给Fiddler会话列表增加IP列

    Fiddler在抓取每个session时,都会调用CustomRules.js脚本文件,该脚本可以隐藏,标识或任意修改session的显示信息。

    会话列表增加IP列步骤:

    步骤1:

    运行Fiddler,Rules菜单 —> Customize Rules,打开“Fiddler ScriptEditor”

    image

    步骤2:

    Ctrl+F查找“static function Main()”字符串,然后添加以下代码:

    FiddlerObject.UI.lvSessions.AddBoundColumn("ServerIP", 120, "X-HostIP");

    image

    ctrl+s进行保存。

    步骤3:查看

    image

    提示:脚本在运行状态下就可以修改并重新编译,不需要重新启动Fiddler。

    (2)添加自定义列

    在标题头上右键会出现一个列表如下:

    image

    说明:

    • Search this column...:在当前列中搜索内容。
    • Flag duplicates :标记重复项。
    • Hide this column :隐藏此列。
    • Ensure all columns are visible :确保所有列均可见。
    • Customize columns...:自定义列。

    选择Customize columns...:自定义列。

    会出现如下界面,我们可以根据实际需要进行相应列的设置。

    image

    (3)添加完成请求时间

    有时候我们想测试系统页面的性能(抓取请求时看响应时间),都是通过点击请求一个个去看,这样会比较麻烦,我们可以在会话列表中增加时间,看起来更直观一点,当然也更方便了。

    方法:

    Rules菜单 —> Custome Rules,搜索class Handlers

    加在class Handlers里面添加,如下代码:

    //左侧信息会显示时间
    public static BindUIColumn("TimeTaken/ms", 120)
    function TimeTaken(oS: Session):String{
        var sResult = "0";
        //获得时间戳的ms值
        var t1_ms = oS.Timers.ClientBeginResponse.ToUniversalTime().Millisecond;
        //获得时间戳的minute值
        var t1_m = oS.Timers.ClientBeginResponse.ToUniversalTime().Minute;
        //获得时间戳的second值
        var t1_s = oS.Timers.ClientBeginResponse.ToUniversalTime().Second;
        var t1 = t1_m*60*1000 + t1_s*1000 + t1_ms ;
    
        var t2_ms = oS.Timers.ClientDoneRequest.ToUniversalTime().Millisecond;
        var t2_m = oS.Timers.ClientDoneRequest.ToUniversalTime().Minute;
        var t2_s = oS.Timers.ClientDoneRequest.ToUniversalTime().Second;
        var t2 = t2_m*60*1000 + t2_s*1000 + t2_ms ;
    
        if(t1 >= t2){
            var t3 =  t1 - t2;
            sResult = t3.toString();
        }
        return sResult;
    }
    

    保存数据后,会话列表页就可以显示时间了。

    image

    (4)其他操作

    • 点击标题头可以按属性值进行升序或者降序排序,默认是按ID排序。
    • 也可以点中标题头进行拖拽,自定义标题头的顺序。

    参考:

    • https://www.cnblogs.com/stilldream/p/10953511.html
    • https://www.jianshu.com/p/263027a29802
    bk