DOC软件文档百宝箱

安卓手机抓包入门:原理与准备

想看清一部安卓手机对外发了哪些请求,最省事的路径不是连电脑配代理,而是在手机上装一个抓包工具。这篇按「原理 → 准备 → 动手」的顺序把入门路径讲一遍。

抓包抓的是什么

手机上的应用与服务器之间的通信,走的是 HTTP/HTTPS 这类协议。抓包工具做的事情,是把这些请求与响应拦下来摊开:请求头里带了什么、响应体返回了什么、一次调用耗时多少。调试自己写的接口、排查「这个 App 到底在后台请求什么」,都靠这一步。

在安卓上,主流做法是走一条本地 VPN:抓包应用在手机里建一条隧道,各应用的流量先经过它再出去。流量只在本机内流转,不需要改 Wi-Fi 设置,也不需要另一台电脑中转。

动手前的两件事

  1. 选工具。安卓端老牌选择有 HttpCanary(圈里常叫「小黄鸟」),HTTP、HTTPS、WebSocket、TCP/UDP 都能接,基础抓包不需要 Root;它的能力清单与界面说明可以看安卓抓包工具 HttpCanary 介绍。作者已停止更新这个项目,后来转向了新工具 Reqable,不过基础抓包的用法在新旧工具之间是相通的。
  2. 想清楚要不要看 HTTPS 明文。抓到 HTTPS 请求不等于看得懂内容——要看懂,得给手机装上抓包工具的根证书,而 Android 7.0 之后系统默认不信任用户装的证书,多半要装进系统证书区(一般需要 Root,或用带 Root 开关的模拟器)。证书装不上时,HTTPS 抓出来就是一串密文,HTTPS 抓包全是密文怎么办专门讲这个。

最短动手路径

  1. 装好抓包工具(安卓版下载与安装有完整步骤);
  2. 首次启动时同意协议、授权 VPN;
  3. 在设置里圈定「目标应用」,只记想观察的那几个 App,避免几十个应用的请求一起涌进来;
  4. 点开抓包,回目标应用里操作几下,再切回来暂停;
  5. 用搜索和过滤器找到关心的那条请求,看请求头、响应体和耗时。

先从浏览器访问一个普通 HTTP 站点开始练手,流程跑通了再去碰证书与 HTTPS,门槛会低很多。

延伸阅读

同站更多