做过接口测试或 Web 开发的人,基本上都用过 Fiddler。这个工具出现的时间比较久,到现在仍是许多测试工程师和开发人员的日常工具。它的核心功能是把计算机与网络之间的 HTTP/HTTPS 请求拦截下来,让使用者能够查看请求数据,也可以对数据进行修改。
本文将 Fiddler 的常见用法系统整理一遍,从安装到实际操作均有涉及,适合不熟悉此工具的人跟随操作,也适合使用过但未系统了解过的人补充知识点。

Fiddler 的定位与工作原理
Fiddler 是一款 HTTP 调试代理工具,处于客户端和服务器之间,相当于一个中间人。启动 Fiddler 后,它会自动将系统代理设置指向自身,所有从浏览器或应用程序发出的 HTTP 请求都会先经过 Fiddler,再转发至目标服务器;服务器的响应同样会先返回 Fiddler,再由 Fiddler 转给客户端。
在这个过程中,Fiddler 会完整记录每一笔数据。若需查看某条请求的具体内容,双击即可打开对应条目。关闭 Fiddler 时,代理会自动还原,无需手动进行调整。
Fiddler 默认监听的端口号为 8888,可在 Tools → Options → Connections 菜单中修改。
Fiddler 能够完成的主要操作
-
查看浏览器和手机 App 发出的 HTTP/HTTPS 请求内容
-
修改请求参数或响应数据,用于接口测试和数据模拟
-
设置断点,拦截请求后手动修改再放行
-
利用 AutoResponder 功能将某个接口的请求重定向到本地文件
-
模拟弱网环境,测试 App 在低网络速率下的表现
-
过滤请求,仅显示指定域名下的流量
-
使用 Composer 手动构造并重放请求
Fiddler 可免费使用,原生支持 Windows 平台,安装包体积小,不依赖其他运行环境。
安装方法
HTTP网络抓包工具下载地址:
链接: https://pan.baidu.com/s/1Yslb7RF4Cyn2xAAlAUMfHg?pwd=8888 提取码: 8888
下载后得到一个 exe 可执行文件,双击运行,按照安装向导的提示点击"下一步"即可完成安装。安装路径可按需修改到非系统盘。
安装完毕后首次打开 Fiddler,会弹出一个提示窗口,询问是否允许 Fiddler 解密 HTTPS 流量,此时建议点击"Yes",否则将只能抓取 HTTP 包,HTTPS 的请求内容无法看到。
界面布局说明
打开 Fiddler 后,界面分为左右两栏:
-
左侧会话列表:记录抓取到的每一条请求,显示的信息包括请求编号、协议、主机、URL、状态码、耗时等。不同类型的请求会以不同颜色标示:红色表示有错误的请求(如 404、500),绿色表示 HTTP 请求,灰色表示 HTTPS 请求等。
-
右侧详情面板:选中左侧某条请求后,右侧会展示该请求的详细内容。面板分为上下两部分,上半部分是请求头与请求体,下半部分是响应头与响应体。切换至 Inspectors 标签页,可按 Raw、JSON、Headers 等不同格式查看数据。
界面底部有一个命令行输入框,可以输入快捷命令来控制断点和过滤规则。
几种核心使用方法
用法一:抓取 PC 端网页的 HTTP/HTTPS 请求
这是最基础的使用方式。打开 Fiddler,然后打开浏览器访问任意网页,左侧会话列表便会开始滚动记录,每一条记录都是一个 HTTP 请求。
点击左侧任意一条请求,右侧切换到 Inspectors 标签页:
-
上半部分显示"请求"信息,包括请求方法(GET/POST)、URL、请求头、请求体。
-
下半部分显示"响应"信息,包括状态码、响应头、响应体(页面 HTML、JSON 数据等)。
如果只想查看某个特定域名的请求,可以开启过滤功能:
-
切换到右侧的 Filters 标签页
-
勾选"Use Filters"
-
在"Show only the following Hosts"中填入需要关注的域名(例如
api.example.com) -
点击
Actions → Run Filterset Now
此时左侧会话列表中便只会保留该域名的请求。

HTTPS 解密配置(若未开启)
前往 Tools → Options → HTTPS,勾选"Capture HTTPS CONNECTs"和"Decrypt HTTPS traffic",点击 OK。系统会提示安装证书,点击"Yes"信任,然后重启 Fiddler。此后 HTTPS 请求即可正常解密并显示内容。
用法二:抓取手机 App 的数据包
此用法要求手机和电脑处于同一 WiFi 网络中。具体操作分为三个步骤。
第一步:Fiddler 端开启远程连接
在 Fiddler 中,依次进入 Tools → Options → Connections,勾选"Allow remote computers to connect",端口保持 8888 不变,点击 OK。Fiddler 会弹出提示窗口,确认允许即可。
第二步:手机端设置代理
查询电脑的 IP 地址:Win + R 打开运行窗口,输入 cmd,回车后在命令行中执行 ipconfig,查找 IPv4 地址(例如 192.168.1.5)。
在手机的 WiFi 设置中,将当前连接的网络代理模式改为"手动":
-
代理主机名(或 IP 地址):填写刚才查到的电脑 IP(如
192.168.1.5) -
代理端口:填写
8888
保存设置。
第三步:安装 Fiddler 证书(抓取 HTTPS 时必须)
手机设置好代理后,使用手机浏览器访问:http://电脑IP:8888(例如 http://192.168.1.5:8888)。页面会显示 Fiddler 的欢迎页,拉到底部找到"FiddlerRoot certificate"链接,点击下载证书文件。
-
Android 手机:进入设置 → 安全 → 安装证书,找到刚刚下载的 cer 文件,为其命名后安装。部分 Android 系统还需在"信任的凭据"中确认安装状态。
-
iPhone 手机:证书下载后,进入设置 → 通用 → VPN 与设备管理,找到 FiddlerRoot 证书并点击安装。安装完成后还需要额外一步:设置 → 通用 → 关于本机 → 证书信任设置,将 FiddlerRoot 对应的开关打开,手动设置为信任。少了这一步,HTTPS 请求仍无法正常抓取。
设置完成后,用手机打开任意 App 进行操作,回到电脑上的 Fiddler,即可看到手机发出的请求。
注意事项
抓包结束后,记得将手机的代理关掉,否则手机断开当前 WiFi 后可能无法正常上网。另外,部分 App 采用了反抓包机制(SSL Pinning),此类 App 用常规方式无法抓取到数据,需要借助其他工具进行绕过,这里不做展开。
用法三:设置断点修改请求或响应
Fiddler 支持在请求到达服务器之前或响应返回客户端之前设置断点,以便手动修改数据。
在请求前设置断点
在 Fiddler 底部的命令行输入框中输入 bpu 目标URL(例如 bpu https://api.example.com/login)。此后,凡是匹配该 URL 的请求都会被拦截。双击拦截到的请求,在右侧 Inspectors 中修改请求参数,然后点击"Run to Completion"放行。
在响应前设置断点
输入 bpafter 目标URL 可拦截响应。被拦截后,可在右侧修改响应内容(如返回的 JSON 数据、响应状态码等),再放行。
清除断点:在命令行中输入 bpu 或 bpafter(不带参数)并回车即可清除对应类型的断点。
用法四:AutoResponder 将请求重定向到本地文件
AutoResponder 功能可用于模拟接口响应,在不修改实际服务器代码的情况下测试各种返回场景。
-
在左侧会话列表中,选中一条需要重定向的请求
-
将其拖拽到右侧的 AutoResponder 标签页中
-
勾选"Enable rules"和"Unmatched requests passthrough"
-
右键选中已添加的规则,选择"Edit Response",可以:
-
直接编辑返回的内容
-
选择"Find a file"并指定本地文件(例如一个保存了 JSON 数据的文本文件)
-
选择"Create New Response"自行构造一个响应
-
设置完成后,再次触发该请求时,Fiddler 会自动用本地设定的响应内容进行替换。
用法五:模拟弱网环境
Fiddler 可以模拟较慢的网络条件,用于测试 App 或网页在低带宽、高延迟情况下的表现。
-
前往
Rules → Performance → Simulate Modem Speeds,勾选开启弱网模拟 -
如需调整具体的延迟和带宽参数,可点击
Rules → Customize Rules
在打开的 Script 文件中找到以下配置段:
text
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";
}
其中 request-trickle-delay 控制上行延迟(上传),response-trickle-delay 控制下行延迟(下载),单位均为毫秒。可根据测试需要修改这些数值,保存文件后规则立即生效。

用法六:Composer 手动构造并发送请求
Composer 提供了一个构造 HTTP 请求的界面,可用于接口测试和调试。
-
切换到右侧的 Composer 标签页
-
在顶部的下拉菜单中选择请求方法(GET、POST、PUT、DELETE 等)
-
填写请求 URL
-
在 Request Headers 区域填写必要的请求头
-
若为 POST 等需要请求体的方式,在下方的 Request Body 区域填写数据
-
点击右上角的"Execute"按钮发送请求
发出的请求会出现在左侧会话列表中,可以在 Inspectors 中查看服务器返回的响应内容。
用法七:过滤请求
除了用法一中提到的按域名过滤,Fiddler 还提供了更灵活的过滤方式,均在 Filters 标签页中完成:
-
按进程:勾选"Show only traffic from",选择需要抓取的进程名(如 chrome.exe)
-
按请求头:勾选"Show only if URL contains",填入关键词,只显示 URL 中包含该关键词的请求
-
按响应状态码:勾选"Hide if status code is",可隐藏指定状态码的请求(例如隐藏 200、304 的请求,只显示异常状态的请求)
-
按响应类型:勾选"Hide if response body is",可设置过滤 HTML、CSS、JS 等静态资源,只关注 API 请求
合理使用过滤功能可以大幅减少会话列表中的无关信息,方便聚焦于真正需要关注的接口。
用法八:重放请求
在左侧会话列表中选中一条请求,右侧切换到 Inspectors 标签页,点击上方工具栏中的"Replay"按钮(一个带有回旋箭头的图标),即可原样重放该请求。重放后的请求会以新的条目出现在会话列表中,以便对比两次请求的差异。
如果需要重放的同时修改参数,可以先用 Composer(用法六)将请求内容导入,进行修改后再执行发送。