抓包是我们在开发中常用的调试手段,可以快速地帮助我们定位前后端的问题,虽然新版本的 Android Studio 已经配备了「Network Inspector」,但在某些场景或者特殊机型上仍不能很好胜任,所以往往需要借助一些第三方的工具进行抓包。
常见的抓包工具有『Wireshark』、『Charles』和『Fiddler』等等,本次介绍使用『Fiddler Everywhere』在 Android 设备上抓包。
『Fiddler Everywhere』是『Fiddler』的一个分支,支持 macOS、Windows 和 Linux。
下载完成并登录,开始配置。
在「Capture and Inspect Traffic」中选择「Remote Devices」,并选择 Android 设备:
进入配置界面,按照步骤来。
第一步,默认即可。
第二步,下载 CA 证书。
确保手机和电脑连接同一网络,手机扫描二维码或者打开上面的链接,点击下载。
第三步,安装 CA 证书。
该设置的位置往往隐藏得比较深,而且不同手机不同版本都略有差异,可以参考我以下的位置。
选择上一步下载的证书文件进行安装,可以给证书命名,方便我们辨认。
安装完成后,可以在「用户凭据」中查看刚刚安装的证书。
第四步,对 Wi-Fi 设置代理。
参考上面提供的主机名和端口号,在手机上设置。
第五步,测试连接。
手机扫描二维码或直接访问上面的链接,页面提示连接成功。
配置完成,下面可以开始抓包。
但需要注意的是,电脑上也需要信任证书才能对 HTTPS 进行抓包。
记得抓包调试结束后,关闭第四步中对 Wi-Fi 设置的代理。