简介
最近试了一下安卓使用fiddler 抓包,发现https包基本都会丢失。原因是Anandroid 7+版本针对ssl安全性做了加强,不认可用户的证书。我们要做的就是把fiddler导出的证书进过处理后放置到系统证书目录下面,这样才能抓包https请求。
这里使用的是 fiddler classic 版本
使用mumu模拟器
使用模拟器的话可以获取Root权限,我不希望对自己的手机root。
fiddler上配置代理
然后在 HTTPS 中的Actions 点击 Trust Root Certificate 一路点击确定。这一步把证书添加到PC端了。
导出证书
导出证书到桌面:在 HTTPS 中的Actions 点击 Export Root Certificate to Desktop
导出的是 cer 文件,这个文件在安卓中直接使用的话,是安装用户证书,所以我们需要额外处理。
- 下载 OpenSSL (例如Win64 OpenSSL v3.3.0),安装后将bin目录放置到系统路径中
openssl x509 -subject_hash_old -in <刚才导出的cer文件全路径>
输出结果如下,下面的内容中,只有开头的 269953fb 是有用的,其他的内容不管。
将刚才导出的cer文件更名为 269953fb.0 , 这个就是我们最终要导入到安卓系统的文件
模拟器配置
开启root权限
以 mumu 模拟器为例
需要配置两个地方,开启Root权限
拷贝证书文件
下面这个工具就可以直接访问系统文件了。
将之前导出的证书 269953fb.0 拷贝到 /system/etc/security/cacerts 目录下即可
配置代理
【设置】-【网络和互联网】-【互联网】
配置代理的ip和端口
保存后即可生效。