Android 抓包
在 Android 上用代理抓 HTTPS,常常卡在「装了证书 App 却还是不认」,新系统里 App 默认不信任用户证书,证书绑定的更是直接抓不到。Android 抓包换个思路:整机抓包 + 自动解密,全程不用在手机上装证书;真机、模拟器都支持;连做了绑定 / 自研加密的 App,也能从内部拿到明文。
一、通用准备
Section titled “一、通用准备”- 连接设备:用数据线连上电脑并开启 USB 调试;模拟器通常会被自动识别。
- 需要 root:三种方式都需要已 root 的设备。
- 无需装证书:都不是中间人代理方式,不用在手机上安装任何证书,这正是它比「代理抓包」在 Android 上更省心的地方。需要证书时,已 root 设备还能自动把信任证书装好,省去手动步骤。
- 开箱即用:抓包所需的辅助组件会按设备架构自动下载并缓存,无需你手动配置环境。
二、模拟器抓包
Section titled “二、模拟器抓包”抓电脑上安卓模拟器里的流量,和抓真机几乎一样、甚至更省事:
- 自动识别:常见品牌的安卓模拟器都会被自动发现,无需插数据线、无需手动连接(真机才需要 USB)。
- 通常已 root:模拟器一般自带或可一键开启 root,正好满足抓包所需。
- 优先用「网卡密钥」:模拟器的系统内核往往较老、不一定支持「网卡抓包」,直接选网卡密钥即可,它对模拟器的兼容性最好。
其余操作与真机一致:选中模拟器设备后按下面的方式抓即可。
三、三种方式怎么选
Section titled “三、三种方式怎么选”| 你的情况 | 用哪种 | 说明 |
|---|---|---|
| 老设备 / 模拟器 / 不确定新旧 | 网卡密钥(推荐默认) | 兼容性最好,几乎任何已 root 设备都能用 |
| 较新的已 root 真机 | 网卡抓包 | 最省事、自包含 |
| 只关心某一个 App,或它在网卡模式下解不出明文 | 应用层抓包 | 从 App 内部取明文,绕开证书绑定 / 自定义加密 |
前两种都是整机抓包 + 自动解密、无需装证书;第三种针对单个 App、连「设防」的也能拿下。
四、网卡密钥(推荐默认)
Section titled “四、网卡密钥(推荐默认)”抓设备网卡(默认 Wi-Fi)的全部流量并自动解密,无需挑具体 App、无需装证书。
- 兼容性最好:不挑内核,老设备、各类模拟器都能用,这是它相对「网卡抓包」的最大优势,设备新旧不确定时用它最稳妥。
- 少数 App 可能只显示密文:个别使用自带 / 非标准加密组件的 App,其流量可能无法解密,这种情况改用下面的「应用层抓包」定点解决。
怎么用:选设备 → 选网卡(默认 Wi-Fi)→ 开抓。
五、网卡抓包
Section titled “五、网卡抓包”同样抓设备网卡的全部流量并自动解密,特点是自包含、最省事(数据与解密所需信息打包在一起)。
- 前提:需要较新的设备(新内核)。若设备偏老不满足,开抓时会明确提示「网卡抓包不支持」,这时改用网卡密钥即可。
怎么用:选设备 → 选网卡(默认 Wi-Fi)→ 开抓。
六、应用层抓包
Section titled “六、应用层抓包”针对单个目标 App,直接从它内部取明文,证书绑定、自定义加密都拦不住。
- 不受网卡模式的短板限制:网卡模式下解不出的 App(证书绑定、自定义加密),这里也能拿到明文,因为它从 App 内部取,不做中间人、不依赖网卡解密。
- 解不出时开「socket 流量」兜底:遇到静态链接 / 自研库、常规方式取不到明文的 App,打开这个开关换一条更底层的路取数据。
- 重启目标程序:可先关掉再重新启动 App,抓到它启动初期的流量。
- 只针对你选的那个 App(不是整机流量)。
怎么用:选目标 App(可从已装 App 列表选,或填包名 / 进程名;留空则抓前台 App)→ 需要抓启动流量就勾「重启目标程序」→ 开抓。
七、也可以用代理抓包
Section titled “七、也可以用代理抓包”除了以上三种,Android 设备还能用代理抓包:把设备的 Wi‑Fi 代理指向本机、装上根证书,即可像电脑一样抓 HTTPS 明文,并使用改写、重放等完整能力。适合调试走系统代理的 App、或需要对移动端请求做规则改写 / 重放的场景。
八、什么时候用 Android 抓包
Section titled “八、什么时候用 Android 抓包”- 分析手机 App 的网络请求、排查接口问题,整机自动解密,不折腾证书。
- 整机视角看某台设备 / 某个 App 到底连了哪些地方、发了什么。
- App 做了证书绑定、网卡模式解不出时,用应用层抓包定点拿明文。
- 想边看边改(改写 / 重放),用代理抓包。