从零到一用Fiddler Classic给手机App抓包保姆级避坑指南含iOS/Android证书安装在移动应用开发和测试过程中网络请求分析是不可或缺的一环。无论是排查接口问题、优化性能还是分析第三方SDK行为抓包工具都能提供直观的数据支持。Fiddler Classic作为老牌抓包工具凭借其强大的功能和免费特性成为众多开发者的首选。本文将手把手带你完成从环境配置到实战抓包的全过程特别针对移动端特有的证书安装难题提供详细解决方案。1. 环境准备与基础配置1.1 Fiddler Classic安装与初始设置前往Telerik官网下载Fiddler Classic安装包注意区分Fiddler Everywhere付费版本。安装时建议选择非系统盘安装目录如D:\Tools\Fiddler安装完成后首次运行时以管理员权限启动关闭所有浏览器和可能使用代理的应用程序基础配置关键步骤# 快速检查Fiddler监听端口默认8888 netstat -ano | findstr 8888提示若端口被占用需在Tools Options Connections中修改监听端口1.2 网络环境检查确保测试设备与运行Fiddler的电脑处于同一局域网电脑端查看IP地址cmd执行ipconfig手机连接相同Wi-Fi互相ping测试连通性常见问题排查表现象可能原因解决方案ping不通防火墙阻挡临时关闭防火墙或添加入站规则延迟高网络隔离检查路由器AP隔离设置时通时断IP冲突重启路由器或设置静态IP2. HTTPS抓包核心配置2.1 证书生成与电脑端安装Fiddler解密HTTPS流量的关键在于中间人证书进入Tools Options HTTPS勾选Decrypt HTTPS traffic点击Actions Export Root Certificate to Desktop双击导出的证书按向导完成安装注意证书必须导入到受信任的根证书颁发机构存储区2.2 移动端证书安装指南Android系统特别处理针对不同Android版本Android 7.0以下手机浏览器访问http://[电脑IP]:8888下载FiddlerRoot.cer文件设置 安全 从存储设备安装证书Android 7.0 需额外步骤使App信任用户证书!-- 在AndroidManifest.xml中添加 -- network-security-config base-config trust-anchors certificates srcsystem / certificates srcuser / /trust-anchors /base-config /network-security-configiOS系统配置要点使用Safari访问http://[电脑IP]:8888下载证书后前往设置 已下载描述文件安装关键步骤设置 通用 关于本机 证书信任设置中启用完全信任3. 代理设置与连接测试3.1 手机端代理配置详细参数设置参数项填写内容注意事项代理类型手动勿使用自动配置(PAC)服务器电脑局域网IP确保不是127.0.0.1端口Fiddler监听端口(默认8888)需与Fiddler设置一致绕过列表可添加内网地址如公司内部接口域名3.2 连接验证方法验证抓包是否生效的三重检查基础检查Fiddler会话列表出现设备请求手机能够正常访问互联网HTTPS专项检查观察会话列表中的HTTPS请求是否显示明文检查是否有Tunnel to类型的连接表示未解密证书有效性检查# 在FiddlerScript中检查证书状态 static function OnBeforeRequest(oSession: Session) { if (oSession.oRequest[X-Fiddler-CertWarning]) { MessageBox.Show(证书警告: oSession.hostname); } }4. 高级技巧与疑难排错4.1 突破证书绑定(Certificate Pinning)当遇到银行类App等使用证书绑定的情况尝试使用JustTrustMe等Xposed模块需root对于Android 7可考虑修改APK的network_security_config.xml备选方案使用模拟器代理方式抓包4.2 常见错误代码处理错误代码原因分析解决方案502 Fiddler - Connection Failed代理设置错误检查IP/端口关闭防火墙HTTPS handshake failed证书不受信任重新安装证书到正确存储区403 Forbidden代理被服务器拒绝修改User-Agent头信息4.3 性能优化配置对于长时间抓包场景建议1. 在Rules Performance中 - 取消勾选Simulate Modem Speeds - 勾选Disable Caching 2. 在Filters中设置只捕获目标App流量 3. 定期清理会话Edit Remove All Sessions5. 实战案例电商App抓包分析以某电商App为例演示完整流程环境准备阶段配置Fiddler监听端口为8866避开常见端口在Bypass列表添加支付网关域名证书处理# 自定义证书名称避免被App检测 reg add HKCU\Software\Microsoft\Fiddler2 /v RootCertName /d CustomCA /f请求分析技巧使用Filters聚焦目标域名对关键接口添加注释右键 Comment使用Timeline分析请求时序接口篡改测试拦截商品详情请求修改返回的库存字段测试前端容错保存篡改前后的对比会话供团队参考遇到一个典型问题App在Android 9上无法联网。通过检查发现是网络安全配置冲突解决方案是在测试包中临时添加network-security-config domain-config cleartextTrafficPermittedtrue domain includeSubdomainstrue目标域名/domain /domain-config /network-security-config