Fiddler 安装与使用

一、Fiddler 安装

Fiddler是一款广泛使用的抓包工具,测试工程师可以用它监控、分析和修改 HTTP/HTTPS 流量。以下是其安装步骤:

  1. 下载 Fiddler:访问 Fiddler 官方网站(https://www.telerik.com/fiddler),在网站上找到下载链接,根据自己的操作系统(Windows)选择合适的版本进行下载。

    PS:个人使用可下载,非活跃开发版本Fiddler Classic,直接下载链接: https://www.telerik.com/download/fiddler

  2. 运行安装程序:下载完成后,找到安装包并双击运行。在安装向导中,按照提示逐步操作,包括选择安装路径、接受许可协议等。一般选择默认选项即可,最后点击 “安装” 按钮开始安装。

  3. 完成安装:安装完成后,桌面上会出现 Fiddler 的快捷图标,双击该图标即可启动Fiddler。

二、Fiddler 基本配置

在使用 Fiddler 进行抓包之前,通常需要进行一些基本配置,特别是对于 HTTPS 流量的捕获:

  1. 配置 HTTPS 捕获
    • 打开 Fiddler,点击菜单栏中的 “Tools”,选择 “Options”。
    • 在弹出的 “Fiddler Options” 窗口中,切换到 “HTTPS” 选项卡。
    • 勾选 “Decrypt HTTPS traffic”,表示要解密 HTTPS 流量。此时 Fiddler 会提示安装根证书,点击 “OK” 进行安装。安装完成后,Fiddler 就可以捕获并解密 HTTPS 流量了。
  2. 配置代理
    • 为了让 Fiddler 能够捕获到应用程序的网络流量,需要将应用程序的网络代理设置为 Fiddler 的代理地址。Fiddler 默认的代理地址是 “127.0.0.1:8888”。
    • 以浏览器为例,在浏览器的设置中找到 “网络设置” 或 “代理设置” 选项,将代理服务器地址设置为 “127.0.0.1”,端口设置为 “8888”。

三、Fiddler 使用方法

(一)基本抓包操作

  1. 启动抓包:启动 Fiddler 后,它会自动开始监听本地的网络流量。打开需要测试的应用程序或网页,Fiddler 的 “Session List” 窗口会实时显示捕获到的网络请求。
  2. 请求查看:在 “Session List” 中,每个请求记录包含请求的 URL、状态码、请求方法(如 GET、POST)等信息。选中一个请求,右侧的 “Inspector” 窗口会显示该请求的详细信息,包括请求头、请求体、响应头和响应体等。

(二)请求分析

  1. 请求头分析:在 “Inspector” 窗口的 “Request” 选项卡中,可以查看请求头信息。请求头包含了请求的一些元数据,如请求的来源、使用的浏览器类型、请求的内容类型等。例如,“User - Agent” 字段表示客户端使用的浏览器类型,“Content - Type” 字段表示请求体的内容类型。
  2. 响应头分析:在 “Inspector” 窗口的 “Response” 选项卡中,可以查看响应头信息。响应头包含了服务器返回的一些元数据,如服务器类型、响应的内容类型、缓存策略等。例如,“Server” 字段表示服务器使用的软件类型,“Content - Type” 字段表示响应体的内容类型。
  3. 响应体分析:根据响应的内容类型,Fiddler 会以不同的方式显示响应体。如果是 JSON 格式的响应体,Fiddler 会将其格式化显示,方便查看。如果是图片等二进制数据,Fiddler 会显示相关的二进制信息。

(三)请求修改与重放

  1. 请求修改:选中一个请求,在 “Inspector” 窗口的 “Request” 选项卡中,可以对请求头和请求体进行修改。例如,可以修改请求的参数、请求方法等。修改完成后,右键点击该请求,选择 “Replay” - “Replay Selected Sessions” 重新发送修改后的请求。
  2. 请求重放:对于需要重复测试的请求,可以直接右键点击该请求,选择 “Replay” - “Replay Selected Sessions” 进行重放。也可以使用快捷键 “R” 进行重放。

(四)过滤请求

Fiddler 提供了强大的过滤功能,可以根据不同的条件过滤请求,只显示符合条件的请求。

  1. 使用过滤器面板:在 Fiddler 界面的右侧,有一个 “Filters” 面板。可以在该面板中设置过滤条件,如根据请求的 URL、状态码、请求方法等进行过滤。例如,在 “Hosts” 选项中,可以输入特定的域名,只显示该域名下的请求。
  2. 使用自定义过滤规则:还可以使用自定义的过滤规则。点击 “Filters” 面板中的 “Use Filters” 按钮,在下方的文本框中输入自定义的过滤规则。例如,输入 “statuscode: 404” 只显示状态码为 404 的请求。

四、使用案例

(一)接口数据异常定位

  1. 问题描述:在测试一个电商网站的商品搜索接口时,发现输入关键词后,搜索结果显示异常,部分商品信息缺失。
  2. 使用 Fiddler 定位问题
    • 启动 Fiddler 并配置好 HTTPS 捕获和代理。
    • 打开电商网站,在搜索框中输入关键词进行搜索。Fiddler 会捕获到与搜索相关的请求。
    • 在 “Session List” 中找到搜索请求,查看其响应信息。在 “Inspector” 窗口的 “Response” 选项卡中,发现响应体中的商品数据字段不完整,部分商品的价格、图片链接等信息缺失。
    • 进一步查看请求头和响应头,确认请求和响应的格式、编码等信息正常。初步判断是后端接口返回数据时出现问题,将该问题反馈给开发人员进行排查。

(二)模拟异常请求测试

  1. 测试场景:测试一个金融系统的转账接口,需要测试系统对异常输入的处理能力。
  2. 使用 Fiddler 模拟异常请求
    • 正常进行一次转账操作,Fiddler 捕获该请求。
    • 在 “Inspector” 窗口的 “Request” 选项卡中,修改请求体中的转账金额参数,将其修改为负数。
    • 右键点击该请求,选择 “Replay” - “Replay Selected Sessions” 重新发送修改后的请求。观察系统的响应,看是否能正确处理该异常输入。如果系统弹出提示框,提示 “转账金额不能为负数”,则说明系统对异常输入有一定的处理能力。