一、环境搭建与基础配置
1.1 安装与初始化
在Windows系统安装Fiddler后,首次启动时会自动完成以下关键配置:
- 系统代理接管:自动配置127.0.0.1:8888作为系统代理
- 证书自动部署:在用户证书存储区安装FiddlerRoot证书
- 进程注入:通过WinHook技术实现全局流量捕获
操作验证:打开浏览器访问任意网站,观察Fiddler主界面左侧Session列表是否实时显示请求。若未显示,检查:
- 左下角状态栏是否显示”Capturing”(绿色图标)
- 浏览器代理设置是否被其他工具覆盖
- 防火墙是否阻止Fiddler网络访问
1.2 工作界面解析
主界面分为五大核心区域:
- Session列表:显示所有捕获的请求,支持按协议/域名/状态码过滤
- Inspectors面板:提供请求/响应的多种格式解析(Hex/JSON/XML等)
- AutoResponder:请求拦截与模拟响应工具
- Timeline视图:可视化请求时间轴,用于性能分析
- Statistics面板:显示选定请求的详细统计指标
二、代理配置进阶
2.1 跨设备抓包方案
电脑端配置:
- 打开Tools > Options > Connections
- 勾选”Allow remote computers to connect”
- 记录IP地址(命令行执行
ipconfig获取IPv4地址) - 保持默认端口8888(可修改但需同步更新设备配置)
移动端配置:
- 手机连接与电脑相同Wi-Fi网络
- 进入Wi-Fi高级设置:
- 主机名:填写电脑IP地址
- 端口:8888
- 安装Fiddler证书(Android需手动安装CA证书,iOS需通过描述文件安装)
验证步骤:
- 手机访问https://www.example.com
- 在Fiddler中过滤
example.com域名 - 检查HTTPS请求是否显示解密内容
2.2 代理链配置
当需要同时使用其他代理工具时:
- 在Options > Gateway设置上游代理
- 支持HTTP/HTTPS/SOCKS5协议
- 典型应用场景:
- 科学上网+抓包组合
- 穿透企业内网代理
- 多级代理调试
三、HTTPS流量解密
3.1 解密原理
通过中间人攻击(MITM)技术实现:
- 客户端安装Fiddler根证书
- 工具动态生成伪证书替换原始服务器证书
- 使用私钥解密TLS流量
3.2 配置流程
电脑端:
- Tools > Options > HTTPS
- 勾选”Decrypt HTTPS traffic”
- 选择解密模式:
- “from all processes”:全局解密
- “from browsers only”:仅浏览器
- “from non-browsers only”:仅非浏览器
- 点击Actions > Trust Root Certificate完成证书信任
移动端:
- 导出证书:
- 文件 > Export Root Certificate to Desktop
- 生成.cer文件
- 设备安装:
- Android:通过文件管理器安装
- iOS:通过Safari访问
http://<电脑IP>:8888下载证书
四、API调试实战技巧
4.1 请求模拟与重放
AutoResponder使用:
- 规则匹配:
- 精确匹配(EXACT)
- 正则匹配(REGEX)
- 前缀匹配(PREFIX)
- 响应类型:
- 本地文件(Find a file…)
- 内置响应(*res200等)
- 自定义脚本(bpu/bpafter)
示例场景:
# 拦截所有/api/user请求返回模拟数据REGEX:(?insx).*api/user.*E:\mock\user.json
4.2 性能分析
关键指标:
- DNS解析时间
- TCP建立时间
- SSL握手时间
- Request发送时间
- Response接收时间
优化建议:
- 对耗时超过200ms的请求重点分析
- 使用Timeline视图定位瓶颈阶段
- 对比重试请求的性能差异
4.3 弱网测试
通过FiddlerScript模拟网络异常:
// 示例:模拟30%丢包率static function OnBeforeRequest(oSession: Session) {if (Math.random() < 0.3) {oSession["request-trickle-delay"] = "5000"; // 延迟5秒}}
五、常见问题解决方案
5.1 证书错误处理
现象:移动端显示”NET::ERR_CERT_AUTHORITY_INVALID”
解决方案:
- 检查证书是否过期
- 确认设备时间设置正确
- 重新导出证书并清除设备信任存储
5.2 抓包空白问题
排查步骤:
- 检查Fiddler是否处于Paused状态
- 确认浏览器/应用未使用独立代理
- 尝试重启Fiddler和浏览器
- 检查防火墙设置
5.3 性能优化建议
- 关闭不需要的Inspectors面板
- 使用过滤器减少显示请求量
- 定期清理Session列表(Ctrl+X)
- 对大文件请求使用Streaming模式
六、安全注意事项
- 禁止在生产环境长期开启抓包
- 妥善保管Fiddler根证书私钥
- 移动端测试完成后及时移除代理配置
- 避免捕获包含敏感信息的请求
通过系统掌握这些核心技能,开发者可以高效完成从基础流量分析到复杂API调试的各项工作。建议结合实际项目进行实践,逐步建立完整的网络调试知识体系。对于企业级应用,可考虑将Fiddler与日志服务、监控告警等系统集成,构建更完善的可观测性解决方案。