继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Fiddler 抓包失败怎么办?从排查到替代方案的完整实战指南

慕的地7456494
关注TA
已关注
手记 75
粉丝 0
获赞 4

在日常开发中,Fiddler 以其轻量、直观的特点,成为很多工程师调试 HTTP/HTTPS 接口的首选。但在 iOS 设备调试场景中,你可能会遇到这样的情况:代理已经配置,Fiddler 界面却空空如也,或者只能看到 CONNECT 请求而没有实际业务数据。

这种抓包失败的现象不仅会打断调试流程,还可能让问题定位陷入僵局。下面我结合一次真实的调试过程,整理出完整的排查思路与替代方案,帮助你快速恢复抓包能力。


一、抓包失败的常见原因

  1. 网络代理配置不正确
    • 手机 HTTP 代理未正确指向电脑 IP 和监听端口
    • 手机与电脑不在同一局域网
  2. HTTPS 解密功能未启用
    • “Decrypt HTTPS traffic” 未勾选
    • 目标域名未加入解密规则
  3. 证书安装但未信任
    • 在 iOS 上安装证书后,还需要手动在“证书信任设置”中开启信任
  4. App 启用了 SSL Pinning 或双向认证
    • 会校验证书指纹,中间人代理方式直接被拒绝
  5. 系统或软件冲突
    • 防火墙阻断监听端口
    • 其他代理工具占用端口导致冲突

二、逐步排查方法

验证代理链路是否正常

  • 在 Fiddler 中勾选 Allow remote computers to connect
  • 手机 Wi-Fi 高级设置里,HTTP 代理填写电脑 IP 和端口(默认 8888)
  • 确保两台设备在同一网络下

开启 HTTPS 解密

  • Tools → Options → HTTPS 勾选 “Decrypt HTTPS traffic”
  • 添加要解密的域名,或直接用 * 捕获全部

安装并信任证书

  • 在 Safari 访问 http://ipv4.fiddler:8888 下载证书
  • 安装后进入“设置 → 通用 → 关于本机 → 证书信任设置”开启信任

判断是否遇到 SSL Pinning

  • 如果 HTTPS 握手直接失败且无明文数据,多半是 App 启用了 Pin
  • 这种情况下,代理型抓包工具往往无能为力

三、遇到 SSL Pinning 的解决方案

在我的一次调试中,目标 App 使用了 Pin,Fiddler 配置再正确也抓不到内容。
这种情况我选择了 Sniffmaster(抓包大师) 来绕过限制:

  • USB 直连 iOS,无需配置 Wi-Fi 代理和证书
  • 直接绕过 SSL Pinning 与双向认证,显示真实 HTTPS 数据
  • 支持仅抓取指定 App,减少系统干扰
  • 拦截器(JavaScript)可修改请求和响应,方便验证不同测试场景
  • 支持导出 PCAP 文件,用 Wireshark 做协议层分析

几分钟内,我就拿到了完整的 API 数据,并分析出接口异常的原因。


四、工具组合建议

调试场景 推荐组合
常规 HTTP/HTTPS 调试 Fiddler + Postman
HTTPS Pin/双向认证限制 Sniffmaster
模拟异常响应或延迟 mitmproxy + Python 脚本
分析网络握手失败、延迟 Sniffmaster 导出 PCAP + Wireshark

五、经验总结

  • 先排查基础配置:代理、解密、证书信任是最常见的抓包失败原因
  • 识别安全机制影响:遇到 SSL Pinning 时直接切换到直连抓包方案
  • 多工具协作:Fiddler 用于常规验证,Sniffmaster 解决高安全限制,Wireshark 做底层分析
  • 保留原始流量:PCAP 文件可供后续复盘与二次分析
打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP