)
移动端抓包实战Fiddler Classic从配置到高阶应用全解析1. 环境准备与基础配置工欲善其事必先利其器。在开始移动端抓包前我们需要确保Fiddler Classic和测试设备都处于最佳状态。不同于简单的工具安装这里有几个关键细节往往被忽略系统兼容性检查Windows用户需确认.NET Framework版本≥4.6.2macOS用户通过Wine运行时建议分配至少2GB内存关闭杀毒软件的HTTPS扫描功能特别是McAfee和Norton注意若企业网络有SSL解密设备需提前在Fiddler的Tools Options HTTPS中添加排除域名代理端口设置推荐使用8888以外的端口如8866可减少与其他服务的冲突概率。配置时勾选这三个核心选项[X] Allow remote computers to connect [X] Decrypt HTTPS traffic [X] Ignore server certificate errors首次启动时建议清理历史会话# 通过命令行快速清空 cd %USERPROFILE%\Documents\Fiddler2\Captures del *.saz /q2. 移动端深度配置指南2.1 Android设备全机型适配不同厂商的证书安装路径差异显著品牌证书存储位置特殊操作小米设置→更多设置→系统安全需关闭MIUI优化华为设置→安全和隐私→更多安全设置EMUI 9需关闭证书强制校验三星设置→生物识别和安全性→其他安全Knox容器需单独安装OPPO设置→其他设置→设备与隐私ColorOS 11需启用安全调试遇到抓包失败时按此流程排查确认电脑防火墙放行代理端口测试ping 电脑IP确保网络连通尝试关闭IPv6开发者选项→网络→禁用IPv62.2 iOS设备特殊处理从iOS 13开始需要额外步骤// 开发调试建议在代码中添加 NSDictionary *proxySettings { (__bridge NSString *)kCFNetworkProxiesHTTPEnable: YES, (__bridge NSString *)kCFNetworkProxiesHTTPProxy: 192.168.1.100, (__bridge NSString *)kCFNetworkProxiesHTTPPort: 8866 };描述文件安装后必须完成设置→通用→关于本机→证书信任设置开启对Fiddler根证书的完全信任重启设备特别是iOS 15系统3. 高阶抓包技巧3.1 突破HTTPS限制当遇到证书固定Certificate Pinning时可尝试使用xposedJustTrustMe模块需root对APK进行反编译修改网络库配置在FiddlerScript中添加自动替换证书逻辑// 在OnBeforeRequest方法中添加 if (oSession.HTTPMethodIs(CONNECT) oSession.HostnameIs(target.com)) { oSession[x-replywithtunnel] FakeTunnel; }3.2 流量过滤与标记高效过滤会话的黄金法则按进程过滤右键会话→Filter Show Only Process智能标记Ctrl点击关键请求→设置BKColor标签快速搜索命令行输入?json过滤所有JSON请求推荐过滤器组合配置Filters ShowOnly if$FIDDLEREXCLUDE notcontains mobile/ Highlight if$RESPONSE Code 500red/Highlight Break ifuiMatch($URL,/api/v1/payment)Request/Break /Filters4. 实战场景解决方案4.1 微信小程序抓包特殊配置流程关闭微信进程执行代理设置命令reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings /v ProxyEnable /t REG_DWORD /d 1 /f reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings /v ProxyServer /t REG_SZ /d 127.0.0.1:8866 /f重新登录微信不要使用扫码登录4.2 二进制协议解析处理protobuf/gRPC流量的方法安装FiddlerProtoBuf插件配置解码规则{ message_type: package.MessageName, proto_path: C:\\protos\\message.proto, auto_decode: true }右键会话→Decode As...选择Protobuf格式5. 性能优化与自动化5.1 内存管理技巧长期抓包时建议设置自动存档间隔File AutoSave Every 100MB启用压缩存储Rules Performance Enable ZIP compression定期执行内存回收// 在FiddlerScript中添加定时任务 static var gcTimer null; gcTimer setTimeout(function(){ GC.Collect(); }, 3600000);5.2 自动化脚本示例批量修改请求的脚本模板// 在BeforeRequest方法中 if (oSession.uriContains(api/v3)) { oSession.oRequest.headers[X-DeviceID] 模拟设备ID; oSession.oRequest.headers.Remove(Authorization); oSession.oRequest.headers.Add(Mock-Mode, true); }响应替换的快捷操作拖拽请求到AutoResponder使用模式匹配regex:.*\/user\/profile.*关联本地JSON文件实现动态mock6. 安全防护与隐私企业级抓包需注意设置主密码Tools Options General Master Password开启会话加密File Preferences Enable SAZ Encryption敏感字段自动脱敏脚本// 在OnBeforeResponse方法中添加 var sensitiveFields [password, token, credit_card]; sensitiveFields.forEach(function(field) { oSession.utilReplaceInResponse( field :[^], field :***); });经过多年实战验证最稳定的配置组合是Windows 10 Fiddler Classic v5.0.20211 中继路由器避免直连热点。遇到抓包中断时优先检查证书有效期默认仅1年和系统时间同步状态