3

本文根据 全网最全最细Fiddler抓包工具,没有之一【柠檬班】 整理所得

1. Fiddler 介绍

  • Fiddler 是位于客户端和服务端之间的 HTTP 代理
  • 目前最常用的 HTTP 抓包工具之一
  • 功能非常强大,是 Web 调试的利器

    • 监控浏览器所有的 HTTP / HTTPS 流量
    • 查看、分析请求的内容细节
    • 伪造客户端请求和服务器响应
    • 测试网站性能
    • 解密 HTTPS 的 Web 会话
    • 全局、局部断点功能
    • 第三方插件
  • 使用场景

    • 接口调试、接口测试、线上环境调试、Web 性能分析
    • 判断前后端 bug、开发环境 hosts 配置、mock 假数据、弱网断网测试

2. 工作原理

工作原理.JPG

3. 安装

略。

3. 界面介绍

界面介绍

3.1 菜单栏

  • 设置代理端口:Tools > Options > Connections > 修改 Fiddler listens on port 值即可
  • 隐藏建立通道的连接:Rules > Hide CONNECTs(常用)
  • 隐藏 304 会话:Rules > Hide 304s(常用)

3.2 工具条

从左到右按顺序

  • WinConfig:略
  • 气泡(对话框)图标:添加备注,在 File > Save 保存会话给别人看的时候有用
  • Replay:重发选中的请求(快捷键 r),同时按住 shift 可以重复发多次
  • × 图标:删除会话,快捷键 ctrl + x 删除所有会话
  • Go:在会话进入断点时恢复会话
  • Stream:流模式,一般不用
  • Decode:对所有会话解码
  • Keep:保留会话条数,例如 100 条、250 条等等
  • 瞄准图标:按住不放,然后将“十字图标”拖动到想要监听的进程,比如拖到 Chrome 浏览器,那么就只会捕捉到 Chrome 的请求
  • Find:快捷键 ctrl + f
  • Save:保存当前会话为一个 .saz 后缀的文件
  • 相机图标:截图
  • 时钟图标:计时器,右键取消
  • IE 图标:快速打开浏览器
  • Clear Cache:清除 IE 浏览器缓存
  • TextWizard:打开转码工具
  • Tearoff:拆分面板
  • 搜索框:进入 https://social.msdn.microsoft...
  • 电脑图标:显示本机网络信息

3.3 监控面板(会话列表)

展示了 Fiddler 抓取到的每条 HTTP 请求,每一条称为一个 session,每条 session 都包含了

  • #:序号,按照页面加载顺序递增
  • Result:状态码
  • Protocal:协议,如 HTTP、HTTPS
  • Host:域名
  • URL:请求地址
  • Body:请求大小,单位为 byte
  • Caching:缓存相关信息
  • Content-Type:MIME 类型
  • Process:发出该请求的进程
  • Comments:备注
  • Custom:用户通过脚本设置的自定义值

3.4 命令行 + 状态栏

3.4.1 命令行

命令行帮助文档

3.4.2 状态栏

从左到右按顺序

  • Capturing:正在捕捉请求中,点一下就可以取消捕捉
  • 筛选不同进程发出的会话
  • 断点,点一下在发起请求之前进入断点,点两下在请求响应响应之后进入断点
  • 附加信息

3.5 辅助标签 + 工具

3.5.1 Statistics(统计)

请求的性能和其他数据分析,如 DNS 解析时间,建立 TCP/IP 连接的时间等

3.5.2 Inspectors(检查器)

可以以不同的格式(Headers、TextView、Raw 等等)查看请求报文和响应报文

3.5.3 AutoResponder(自动相应器)

拦截某一请求,然后进行如下操作

  • 使用 Fiddler 内置的响应
  • 自定义响应
  • 重定向到本地的资源

可以拦截 js 文件制作钓鱼网站或者 mock 假数据

比方说,项目在正式环境出了问题,直接在正式环境修改代码是不合理的,此时就可以用 AutoResponder 将请求拦截,然后重定向到指定的响应内容

Fiddler 具体设置如下

  1. 勾选 Enable rules
  2. 勾选 Unmatched requests passthrough
  3. 点击 Add Rule
  4. 在 Rule Editor 输入要拦截的地址
  5. 在 Rule Editor 选择要采取的响应
  6. 点击 Save

3.5.4 Composer(创作者)

简单的接口测试工具

3.5.5 Filter(过滤器)

多维度的过滤规则,包括

  • Hosts过滤

    zone filter 分为了 intranet 局域网(内网)和internet 互联网(外网)

    Flag the following Hosts 标示(重要处)一下的域名

  • Client Process过滤(客户端进程)
  • Request Headers 过滤
  • Breakpoints(打断点)
  • Response Status Code 过滤
  • Response Type and Size 过滤
  • Response Headers 过滤

Fiddler 具体设置

  1. 勾选 Use Filters(记得取消勾选
  2. 勾选好过滤条件
  3. 点击右上角(Use Filters 右边)的 Actions > Run filterset now

4. 断点

  • 可以在请求前篡改请求数据
  • 可以在响应后篡改响应数据
  • 模拟网络超时的情况

Fiddler 具体设置

  • 全局断点:Rules > Automatic Breakpoints > Before Requests 或者 After Responses(也可以直接在最下面的状态栏设置,3.4.2 有介绍)
  • 局部断点

    • 请求前断点:在下面的命令行处输入 bpu login,即可将请求中带有 login 的请求中断,再次输入 bpu 取消断点
    • 响应后断点:在下面的命令行处输入 bpafter login,即可将请求中带有 login 的请求中断,再次输入 bpafter 取消断点

5. 弱网测试

Fiddler 具体设置:Rules > Performance > Simulate Modem Speeds

还可以自定义限速的状态,具体操作:

  1. Rules > Customize Rules
  2. 在代码中搜索“if (m_SimulateModem) {”,找到后修改里面的数值即可(记得要勾选 Rules > Performance > Simulate Modem Speeds

5. HTTPS 抓包

Fiddler 具体操作:Tools > Options > HTTPS > 勾选 Decrypt HTTPS traffic

如果还是不能抓取 HTTPS 请求,执行下面操作:

  1. Tools > Options > HTTPS > Actions > 点击 Reset All Certificates,然后一直点确定来安装 fiddler 证书
  2. 然后 Tools > Options > HTTPS > Actions > 点击 Open Windows Certificate Manager 打开管理计算机证书界面
  3. 在 Windows 的管理计算机证书界面,点击操作 > 查找证书 > 搜索 fiddler,能查找到相应的证书即设置成功

5.1 Firefox 设置(IE 和 Chrome 执行上述操作即可)

  1. Firefox 右上角 > 选项(或者地址栏输入 about:preferences) > 找到网络设置(不同版本可能的位置不一样),选中“使用系统代理设置”
  2. Fiddler > Tools > Options > HTTPS > Actions > 点击 Export Root Certificate to Desktop 导出证书到桌面
  3. Firefox 右上角 > 选项 > 找到证书模块,点击查看证书 > 选择证书机构 > 点击导入,选择第 2 步的证书,然后将提示框中的选项都勾中,点击确定,重启 Firefox 即可

6. 抓 iOS 设备中的 App 的包

  1. Fiddler > Tools > Options > Connections > 勾选 Allow remote computers to connect
  2. Fiddler > Tools > Options > HTTPS > 勾选 Capture HTTPS CONNECTS 和勾选 Decrypt HTTPS traffic
  3. 将 iOS 设备和电脑连接 WiFi 并设置代理,服务器填写电脑 IP,端口填写 Fiddler 设置的端口(Tools > Options > Connections > Fiddler listens on port)
  4. iOS 设备使用浏览器打开 192.168.1.103:8888(电脑 IP 和 Fiddler 设置的端口),然后点击 FiddlerRoot certificate 进行安装操作
  5. 安装成功后,iOS 设备设置 > 通用 > 关于本机 -> 证书信任设置中信任刚安装的 Fiddler 证书即可
  6. 记得关闭代理

7. 抓 Android 设备中的 App 的包

  1. 同 iOS 设备
  2. 同 iOS 设备
  3. 同 iOS 设备
  4. 同 iOS 设备
  5. 安装后,在(华为手机,其他安卓机类似)设置 > 安全 > 受信任的凭据 > 选择用户,查看是否有 Fiddler 的证书,如果有即设置成功了。如果没有,则在设置 > 安全 > 从 sd 卡安装 > 安装刚刚下载的证书即可
  6. 记得关闭代理

8. 其他问题

  • 卸载 Fiddler 之后浏览器上不了网

    Windows 系统,打开更改代理设置,关掉代理即可


3santiago3
113 声望2 粉丝

引用和评论

0 条评论