抓包是我们在开发中常用的调试手段,可以快速地帮助我们定位前后端的问题,虽然新版本的 Android Studio 已经配备了「Network Inspector」,但在某些场景或者特殊机型上仍不能很好胜任,所以往往需要借助一些第三方的工具进行抓包。

常见的抓包工具有『Wireshark』、『Charles』和『Fiddler』等等,本次介绍使用『Fiddler Everywhere』在 Android 设备上抓包。

『Fiddler Everywhere』是『Fiddler』的一个分支,支持 macOS、Windows 和 Linux。

下载完成并登录,开始配置。

在「Capture and Inspect Traffic」中选择「Remote Devices」,并选择 Android 设备:

Fiddler 主页
Fiddler 选择设备

进入配置界面,按照步骤来。

第一步,默认即可。

Fiddler Config

第二步,下载 CA 证书。

Fidder Download CA

确保手机和电脑连接同一网络,手机扫描二维码或者打开上面的链接,点击下载。

手机下载 CA

第三步,安装 CA 证书。

Fiddler Install CA

该设置的位置往往隐藏得比较深,而且不同手机不同版本都略有差异,可以参考我以下的位置。

选择上一步下载的证书文件进行安装,可以给证书命名,方便我们辨认。

安装完成后,可以在「用户凭据」中查看刚刚安装的证书。

第四步,对 Wi-Fi 设置代理。

Fiddler Config Wi-Fi

参考上面提供的主机名和端口号,在手机上设置。

手机代理设置

第五步,测试连接。

Fiddler Test Conectivity

手机扫描二维码或直接访问上面的链接,页面提示连接成功。

手机连接代理成功

配置完成,下面可以开始抓包。

Fiddler 抓包

但需要注意的是,电脑上也需要信任证书才能对 HTTPS 进行抓包。

Fiddler 信任证书

记得抓包调试结束后,关闭第四步中对 Wi-Fi 设置的代理。