Fiddler基础

HollowPan / 2023-09-02 / 原文

Fiddler基础设置

抓取HTTPS请求

  1. 打开菜单栏:Tools>Fiddler Options>HTTPS
  2. 勾选Decrypt HTTPS traffic,里面的两个子菜单也一起勾选了
  3. 点击右上角Actions按钮,选第二个选项,导出到桌面,此时桌面上会多一个文件:FiddlerRoot.cer
  4. 将证书安装到浏览器中

抓取APP请求

  1. fiddler>Tools>Fiddler Options>Connections勾选Allow remote computers to connect,Fiddler默认端口号:8888
  2. 将电脑和手机处在同一wifi网络环境下,手动修改网络代理
    • 主机名:与主机电脑IP地址保持一致
    • 端口号:与Fiddler端口号保持一致
  3. 抓取APP上的HTTPS请求
    1. 打开手机浏览器,输入http://主机IP地址:Fiddler端口号
    2. 点击FiddlerRoot certificate下载证书
    3. 设置->安全->信任的凭据->用户中安装证书

打断点

  • 请求前断点:
    • Rules>Automatic Breakpoints>Before Requests
      • 取消:Rules>Automatic Breakpoints>Disabled
    • 在命令行输入:bpu 地址(后面可以添加完整的地址或者关键字)
      • 取消:bpu+回车
  • 响应后断点:
    • Rules>Automatic Breakpoints>Before Requests>After Requests
      • 取消:Rules>Automatic Breakpoints>Disabled
    • 在命令行输入:bpafter 地址(后面可以添加完整的地址或者关键字)
      • 取消:bpafter+回车
  • 其他命令
    • Bpafter xxx: 中断 URL 包含指定字符的全部session响应
    • Bps xxx: 中断 HTTP 响应状态为指定字符的全部session响应
    • Bpv xxx: 中断指定请求方式的全部session响应
    • Bpm xxx: 中断指定请求方式的全部session响应 同于bpv xxx
    • Bpu xxx:与bpafter类似

弱网测试

  • 启动弱网:Rules>Performance>Simulate Modem Speeds勾选

  • Rules>Customize Rules

    • 搜索m_SimulateModem关键字

      if (m_SimulateModem) {
      	// Delay sends by 300ms per KB uploaded.
      	oSession["request-trickle-delay"] = "300";   # 上传速度
      	// Delay receives by 150ms per KB downloaded.
      	oSession["response-trickle-delay"] = "150";   # 下载速度
      	}
      
      // Delay sends by 300ms per KB uploaded.
      //   每延迟300ms上传1KB           
      //      300ms    1KB
      //      1000ms   ?KB
      //    300ms* ?=1000ms *1KB
      //    ?=(1000ms *1KB) /300ms --->3.3KB
      
      // Delay receives by 150ms per KB downloaded.
      //   每延迟150ms 下载 1KB
      //       150ms   1KB
      //       1000ms   ?KB
      //       ?--->1000/150--->约6.7KB
      
      //  2G网速:
      //  上传:2.7K/bps             1 Byte=  8 bit
      //         ?ms       1KB
      //       1000ms      2.7K/bps
      //     ?=(1000ms *1K*8bit)/2.7K/bps-->8000/2.7-->2962
      //     ?=1000ms * 1KB/(2.7K/8)--->2962
      //  下载:9.6K/bps
      //          ?ms       1KB
      //       1000ms      9.6K/bps
      //     ?=(1000ms *1K*8bit)/9.6K/bps-->8000/9.6-->833