Fiddler 配置与使用:从入门到移动端实战
写 iOS/Android App 时,接口返回 500 但完全不知道哪个参数错了?
想理清竞品的完整 API 调用链路,做逆向分析?
测试限时优惠或者支付逻辑时,想把原价改成 1 分钱来模拟?
Fiddler 就是你想要的答案——它是 Windows 平台上最成熟、对移动端支持最好的 HTTP/HTTPS 抓包+调试神器,说它是“网络中间人”的工具箱都不为过。
1. 核心工作原理
一句话概括:Fiddler 就是一个调停双方通信的代理服务器。
启动 Fiddler 后,它会悄悄把系统全局代理设置为 127.0.0.1:8888,所有 HTTP/HTTPS 流量都会先经过它,再发给真正的目标服务器,整个链路变成这样:
- 客户端(浏览器/App)把请求扔给 Fiddler,而不是直接请求服务器。
- Fiddler 接收请求,记录下来,甚至在你允许时可以修改请求内容再转发。
- 服务器 看不到真正的客户端,只能看到 Fiddler 替它发的请求,将响应返回给 Fiddler。
- Fiddler 再次拦截响应,记录并还可以修改,然后再返回给客户端。
如此一来,客户端和服务器之间的所有信息,都被 Fiddler “看光了”。想要抓包分析、断点篡改、模拟弱网……都可以在这个中间层轻松完成。
2. Fiddler 基础配置
2.1 HTTPS 解密配置(不配等于白装)
HTTPS 就是为了防止中间人窃听和篡改而生,所以默认状态下,Fiddler 只能看到加密的握手隧道记录(灰色 Tunnel to xxx),完全不知道里面传输了什么内容。
要想看到明文数据,必须让 Fiddler 变成“受信任的中间人”,也就是安装并信任它的根证书。
操作步骤:
- 打开 Fiddler 顶部菜单:Tools > Options > HTTPS
- 依次勾选三个关键选项:
- ✅
Capture HTTPS CONNECTs—— 抓取建立加密连接的隧道请求 - ✅
Decrypt HTTPS traffic—— 对隧道里加密的内容进行透明解密 - ✅
Ignore server certificate errors (unsafe)—— (开发调试时忽略自签名/过期证书)
- ✅
- 第一次勾选
Decrypt HTTPS traffic时,系统会连续弹出 2-3 个信任对话框,全部点击“是”或“确定”,否则后续电脑或手机端都无法解密流量。
⚠️ 如果某个弹窗你不小心点了“否”,需要回去把勾选重新去掉再选上,重新触发证书安装。
2.2 远程抓包连接配置
想要让 Fiddler“管住”手机的流量,必须允许它接受来自网络内其他设备的连接。
操作步骤:
- 打开 Tools > Options > Connections
- 确认
Fiddler listens on port为8888(可自定义,但后续手机和代码配置要保持一致) - 务必勾选
Allow remote computers to connect - 点击右下角
OK,然后必须重启 Fiddler 让设置生效。
重启后,Fiddler 就会监听到来自手机/其他设备的请求了。
3. 移动端抓包实战指南
这是 Fiddler 最常用、最有价值的场景,分三步走,全程避免踩坑。
3.1 前置准备
先确保两个前提:
- 电脑和手机 连在同一个 Wi-Fi 下(不能一个有线一个无线,也不能跨路由器频段)
- 电脑上的 Fiddler 已经重启,并且上一步的远程连接配置已经生效。
3.2 手机端手动设置代理
-
查电脑 IP
Windows 按Win + R输入cmd,再敲ipconfig,找到「无线局域网适配器 WLAN」下的IPv4 地址,例如192.168.31.123。 -
修改手机 Wi-Fi 代理
- 长按当前连接的 Wi-Fi 名称 → 选择「修改网络」(部分 Android 手机需要先展开「高级选项」)
- 代理设置从「无」或「自动」改为「手动」
- 代理服务器主机名:刚刚查到的电脑 IPv4 地址
- 代理端口:
8888 - 点击「保存」
只要代理填写正确,此时手机上所有上网请求都会先发到 Fiddler。
3.3 手机端证书安装(最容易漏的“最后一步”)
如果只设置了代理,却没有安装并信任 Fiddler 的证书,那么所有 HTTPS 请求依然会以灰色 Tunnel to xxx 的形态出现,无法看到请求和响应的内容。
Android 端安装步骤
- 打开手机自带浏览器(不要用 Chrome 最新版,可能拦截自签名证书下载),访问
http://[电脑IP]:8888 - 点击页面下方的蓝色链接
FiddlerRoot certificate下载证书 - 进入手机「设置」→ 搜索「安装证书」→ 选择「CA 证书」(部分系统叫「受信任的凭据」或「从存储设备安装」)
- 找到刚刚下载的
FiddlerRoot.cer,输入锁屏密码验证后安装。部分机型需要重启手机才能生效。
iOS 端安装步骤(多一步手动信任)
iOS 的证书安装比 Android 多一个关键操作,很多人就卡在这里:
- 用 Safari 浏览器访问
http://[电脑IP]:8888 - 点击
FiddlerRoot certificate,会提示下载「配置描述文件」,点击「允许」 - 打开「设置」→ 顶部会显示「已下载描述文件」→ 点击安装,输入锁屏密码,连续点击「安装」→「完成」
- ⚠️ 极其重要的一步:再进入「设置」→「通用」→「关于本机」→ 拉到底部「证书信任设置」→ 找到
DO_NOT_TRUST_FiddlerRoot,打开右侧的开关开启信任。
完成这一步后,iOS 设备上的 HTTPS 流量才会被正常解密。
4. FiddlerScript 自定义规则
Fiddler 除了抓包,还能通过一段段小脚本动态修改请求和响应——这就是 FiddlerScript 的威力。你可以把 Fiddler 当成一个可编程的中间人,实现 Mock 接口、自动改价格、添加请求头、重定向域名等操作。
4.1 脚本入口
点击菜单 Tools > Fiddler Script,会打开内置的 CustomRules.js 编辑器。所有自定义逻辑都写在这个文件里,主要用到两个函数:
OnBeforeRequest(oS: Session)—— 在请求发送给服务器之前触发OnBeforeResponse(oS: Session)—— 在响应返回给客户端之前触发
4.2 常用代码示例
💡 每次修改
CustomRules.js后,按Ctrl + S保存即可立即生效,无需重启 Fiddler。
5. Python 集成与自动化抓包
假设你用 Python 写了一个爬虫,或用它来做接口自动测试,但不确定发出的请求头、参数、Cookie 是否正确——这时只要把 Python 发出的流量也引流到 Fiddler,所有细节一目了然。
5.1 基础示例代码
运行这段脚本后,Fiddler 会话列表里会立刻出现一条来自 Python 的请求,可以在 Inspectors 面板中查看原始请求和响应内容,排查 Header、参数等问题十分方便。
6. 常见问题排查
7. 总结与实践路径
Fiddler 远不止是一个“看包工具”,它更像一个可编程的数据中转站与调试助手。如果你是移动端开发、逆向分析或爬虫工程师,建议按下面的路线循序渐进掌握:
- 第一步:配好证书,打通 HTTPS 抓包,确保能看到明文请求和响应。
- 第二步:使用 Composer 模块,快速重放或修改某个请求,实时验证接口行为。
- 第三步:利用 Filters 标签页过滤无关流量(比如广告、系统更新),只关注目标 App 的数据包。
- 第四步:深入 FiddlerScript,自动化实现 Mock 数据和规则篡改,最大化提升工作效率。

