乐于分享
好东西不私藏

开发者必备:Fiddler 抓包手机应用的完整教程

开发者必备:Fiddler 抓包手机应用的完整教程

一、Fiddler 抓手机 App 请求原理

Fiddler 是一个 HTTP/HTTPS 抓包代理工具,它本质上是:

  • 开启一个代理端口(默认 8888

  • 手机流量通过这个端口转发出去

  • Fiddler 拦截、解密、显示所有 HTTP/HTTPS 请求与响应

所以思路是:

手机 ➝ Wi-Fi代理 ➝ Fiddler(电脑) ➝ 目标服务器


二、操作步骤(适用于 Android / iOS)

1. 安装并配置 Fiddler(电脑端)

  • 下载地址:https://www.telerik.com/fiddler

Windows / macOS 都支持(推荐用 Fiddler Classic 或 Fiddler Everywhere

  • 安装后,打开 Fiddler:

    • 进入 Tools → Options → Connections

    • 勾选  Allow remote computers to connect

    • 记下默认端口(一般是 8888

在 Fiddler 中启用 HTTPS 解密

  • 打开 Fiddler → Tools → Options → HTTPS

  • 勾选:

    • Decrypt HTTPS traffic

    • ...from remote clients only(如果只想抓手机的包)


2. 手机和电脑连同一个 Wi-Fi

  • 确保 手机和电脑在同一个局域网(同一个 Wi-Fi)

  • 查看电脑局域网 IP(例如 192.168.1.100


3. 手机设置代理

在手机上:

  • 打开当前 Wi-Fi 设置

  • 找到“HTTP 代理” → 手动

  • 代理服务器:输入电脑 IP(如 192.168.1.100

  • 端口:8888


4. 安装 Fiddler 根证书(抓 HTTPS 必须)

Android:

  • 打开浏览器访问 http://电脑IP:8888

  • 下载并安装证书(系统提示为“用户证书”)

注意:Android 7.0+ 开始,用户证书默认不会信任系统 App,要抓 HTTPS:

  • 需要 Root + 手动导入系统证书,或

  • 通过 MITM 代理 + Frida/Objection 动态注入 绕过证书校验(进阶)

iOS:

  • 同样访问 http://电脑IP:8888

  • 下载证书后进入:

    • 设置 → 通用 → 描述文件 → 安装证书

    • 设置 → 关于本机 → 证书信任设置 → 启用信任该根证书


三、验证是否成功

  • 手机上随便打开一个 App

  • 在 Fiddler 中应该能看到请求日志

  • 如果是 HTTPS 且显示为 “Tunnel to...” ,说明证书未正确安装或被 App 校验拦截了


四、常见问题 & 解决办法

问题原因解决
Fiddler 抓不到手机请求
手机和电脑不在同一网络 / 代理没设对
确认 IP 和端口
HTTPS 显示 "Tunnel to"
证书未信任 / App 开启证书固定(Pinning)
安装证书 / 使用 Frida 绕过
App 不走代理
App 使用了非系统网络栈 / 内置 VPN
使用 VPN 抓包工具(如 mitmproxy + AnyProxy)

进阶工具推荐(适合开发者)

工具优势使用场景
Fiddler
界面友好,调试方便
日常调试、接口分析
Charles
Mac 常用,支持 HTTPS 抓包和 Map 功能
iOS 开发调试
mitmproxy
命令行 + Python 自动化
自研自动化抓包、逆向分析
HttpCanary (Android)
免 Root 抓包
快速调试
Proxyman (Mac)
UI 更现代,HTTPS 支持好
iOS/macOS 抓包

小结

Fiddler 可以用来抓取手机 App 请求,但要记住三点:

  • 手机和电脑必须在同一局域网

  • 手机需要手动配置 Wi-Fi 代理指向 Fiddler

  • 如果要抓 HTTPS,必须安装并信任根证书(有些 App 还需要绕过 Pinning)

  • Fiddler官方使用指南:https://docs.telerik.com/fiddler/knowledge-base/uiguide