先看情况是否一样:
fiddle抓包时,某些APP的某些页面打不开
安卓7.0+手机 fiddle抓包抓不到https(或者每次都需要授权访问),必须真机调试又不想换系统
出现这种情况的原因之一:Android7以后,系统不再信任用户级的证书,只信任系统级的证书,所以要抓包就需要把我们的代理程序证书安装至Android的系统目录中
准备
一台已root的手机
fiddle证书
Openssl
第一步:导出fiddle的CA证书到桌面
第二步:安装OpenSSL
OpenSSL下载地址:https://oomake.com/download/openssl
选择1.0.2版本的下载安装
安装就一直NEXT就行了 最后有个捐赠不要选
安装OpenSSL需要配置环境变量(生手百度)
我的电脑-右键-属性-高级系统设置-环境变量
新建OpenSSL_Home 路径为OpenSSL的安装路径
新建OPENSSL_CONF 路径为 OpenSSL_Home 的 \bin\openssl.cfg
编辑Path目录增加 %OpenSSL_Home%\bin\
以管理员身份运行命令提示符
输入openssl (如果没有像如下正常运行说明你没有配好环境变量)
第三步:转换证书格式
运行 x509 -inform DER -in C:\Users\admin\Desktop\FiddlerRoot.cer -out myca.pem
C:\Users\admin\Desktop\FiddlerRoot.cer是证书路径 myca.pem是生成的证书
然后再运行 x509 -inform PEM -subject_hash_old -in myca.pem
取这串编码e5c3944b
转换好的证书 myca.pem 在 C:\Windows\System32
给 myca.pem 重命名 e5c3944b.0
第四步:把改证书保存到手机
手机系统证书目录位置是:/system/etc/security/cacerts
第五步:重启手机 完结撒花
假如没有上面这些操作,我们的证书是安装在用户里面的
现在安装在系统里面,我们可以自由的抓取https
折腾了这么久,最快的方法还是换一个低系统的手机去测试最省事儿