Fiddler 配置与使用:从入门到移动端实战
开发iOS/Android App时接口返回500但摸不清参数错误?做竞品分析想理清完整API调用链路?测试限时优惠或支付逻辑想把原价改成1分钱模拟?Fiddler绝对是你的首选工具——Windows端最成熟、对移动端支持最好的HTTP/HTTPS抓包+调试神器。
1. 核心工作原理
Fiddler本质上是一个本地/远程Web透明代理服务器。启动后会默认将系统全局代理设为127.0.0.1:8888,所有HTTP/HTTPS流量都会经过它的四层中转:
- 客户端:放弃直连服务器,将请求先丢给Fiddler
- Fiddler(记录/修改请求):接收请求后存储,支持编辑后转发
- 服务器:处理Fiddler转发的请求,返回响应
- Fiddler(记录/修改响应):接收响应后再次存储,支持编辑后返回给客户端
2. Fiddler 基础配置
2.1 HTTPS 解密配置(必做!)
HTTPS的核心作用就是防止第三方窃听/篡改,所以不配置证书的话,只能看到灰色的加密握手隧道,完全看不到明文。
操作步骤:
- 打开顶部菜单:Tools > Options > HTTPS
- 依次勾选3个关键选项:
Capture HTTPS CONNECTs:先抓取建立加密连接的隧道请求Decrypt HTTPS traffic:对隧道内的加密内容进行透明解密Ignore server certificate errors (unsafe):开发调试时忽略自签名/过期的服务器证书警告
- 首次勾选
Decrypt HTTPS traffic会连续弹出2-3个信任提示框,全部点击Yes/确定,否则无法完成后续电脑或手机的流量解密
2.2 远程抓包连接配置
要抓手机流量,必须允许外部设备(手机)通过WiFi连接到电脑上的Fiddler:
操作步骤:
- 切换到 Tools > Options > Connections
- 确认
Fiddler listens on port为8888(可自定义,后续手机和代码配置要保持一致) - 务必勾选
Allow remote computers to connect - 点击右下角
OK,必须重启Fiddler才能让规则生效
3. 移动端抓包实战指南
这是Fiddler最常用、价值最高的场景,分3步零踩坑完成。
3.1 前置检查
先确认两个基础条件:
- 电脑和手机必须连接到同一个WiFi(不能一个有线一个无线,也不能跨路由器频段)
- 电脑上的Fiddler已重启并完成前两节的配置
3.2 手机端手动代理设置
- 查电脑IP:Windows按
Win+R输入cmd,再敲ipconfig,找到「无线局域网适配器 WLAN」下的IPv4 地址(比如192.168.31.123) - 修改手机WiFi:
- 长按当前连接的WiFi名称 → 点击「修改网络」(部分Android手机需先展开「高级选项」)
- 将「代理」从「自动」改为「手动」
- 填入代理服务器主机名=刚才查的电脑IPv4,代理端口=8888
- 点击「保存」/「确定」
3.3 手机端证书安装(最容易漏关键步骤!)
不装证书或不开启信任的话,所有HTTPS流量还是灰色的Tunnel to xxx.xxx.xxx。
Android端安装
- 打开手机自带浏览器(不要用Chrome最新版,会拦截自签名证书的下载入口),访问
http://[电脑IP]:8888 - 点击页面底部的蓝色链接
FiddlerRoot certificate下载证书 - 打开手机「设置」→ 搜索「安装证书」→ 选择「CA 证书」(部分旧系统叫「受信任的凭据」→「从存储设备安装」)
- 选择刚才下载的
FiddlerRoot.cer证书,输入锁屏密码验证,安装完成后部分机型需重启生效
iOS端安装(必做最后一步!)
iOS的证书安装比Android多一步“手动开启根证书信任”,否则无效:
- 打开Safari浏览器,访问
http://[电脑IP]:8888 - 点击
FiddlerRoot certificate,会提示下载「配置描述文件」,点击「允许」 - 打开「设置」→ 顶部会显示红色/蓝色的「已下载描述文件」→ 点击进入安装,输入锁屏密码,连续点击「安装」→「完成」
- 关键第二步!! 打开「设置」→「通用」→「关于本机」→ 拉到最底部「证书信任设置」→ 找到「DO_NOT_TRUST_FiddlerRoot」,打开右侧的绿色开关
4. FiddlerScript 自定义规则
这是Fiddler的进阶核心玩法!可以通过写简单的JavaScript兼容代码,在请求发送前或响应返回前动态修改数据,实现Mock接口、自动改价格、添加测试Header、重定向请求等功能。
操作入口
打开顶部菜单:Tools > Fiddler Script,默认会打开内置的CustomRules.js编辑器,找到两个核心函数即可插入代码:
OnBeforeRequest(oS: Session):修改发送给服务器前的请求OnBeforeResponse(oS: Session):修改返回给客户端前的响应
常用示例代码
5. Python 集成与自动化抓包
做爬虫或自动化接口测试时,经常需要通过Fiddler代理调试Python请求的Header、参数、Cookie是否正确。
基础示例
6. 常见问题排查
7. 总结
Fiddler不只是一个“看包工具”,还是一个强大的数据中转站和调试助手。对于移动端开发、逆向和爬虫工作者,建议按这个渐进流程掌握:
- 第一步:配好证书,打通HTTPS抓包
- 第二步:用Composer模块快速重发/修改请求调试
- 第三步:用Filters标签页过滤无关流量(比如系统更新、广告统计)
- 第四步:用FiddlerScript实现自动化Mock或数据篡改

