安卓7.0+高版本 fiddler抓包失败的解决方案
- 已经更新版本适配安卓12+,安卓13+:
- 安卓模拟器(手机)高版本 fiddler抓包的解决方案
- 资料查阅
- 准备一个有root权限的手机或者模拟器
- 删除旧版证书(如果没有就跳过)
- 重新导出FD证书
- 安装git(如果有就可以跳过了)
- 安装 openssl
- openssl转换证书
- 推送证书到安卓手机(模拟器)
- 重启手机
- 系统证书列表
- 测试FD抓包
- 注意,记得按照常规的fd抓包先配置一次哈~
新来的小伙伴可以直接看这个教程了。
安卓模拟器(手机)高版本 fiddler抓包的解决方案
相信小伙伴们都用了高版本的安卓手机/模拟器了(少说也是7.0以上了吧),但是会发现一个很严重的问题,那就是之前是配置抓包方法失效了,这是为啥呢?
资料查阅
经过我一番查阅主要的原因还是因为谷歌在7.0版本之后,升级了证书的方式。用户第三方自己安装的证书限制巨大,所以需要采用以下方式把fd证书导入系统证书里面
注意:root权限或者adb root
所以我们要这样操作:把fd证书安装到系统就可以了
- 手机和模拟器必须要有root权限 ,我的手机是1+3T刷了魔趣系统,自带了adb root;
- 模拟器随意哈~
准备一个有root权限的手机或者模拟器
我这里是安卓10的手机
删除旧版证书(如果没有就跳过)
一般的路径是:设置-安全-加密与凭据-信任的凭据-用户
删除它
重新导出FD证书
- 打开Fiddler
- 选择tools
- 选择options
- 点击HTTPS
安装git(如果有就可以跳过了)
下载地址: git.
- 一路next就可以了。
安装 openssl
下载地址: openssl. 密码:kmx8
一路next就行了
然后在控制台输入:
openssl
有信息出来就是ok了
openssl转换证书
openssl x509 -inform DER -in FiddlerRoot.cer -out fiddler.pem
openssl x509 -inform PEM -subject_hash_old -in fiddler.pem | head -1
cat fiddler.pem > e5c3944b.0
推送证书到安卓手机(模拟器)
切换到有adb的目录(没有的请自己去安装,最好加入到环境变量,模拟器 一般根目录就自带了)
拖进去就可以得到目录,然后输入路径
adb push [文件名] /system/etc/security/cacerts
然后会出现以下错误
这时候就要输入下面的命令 二选一
再次推送
新建一个cmd,输入一下命令:
adb shell
cd /system/etc/security/cacerts
chmod 644 [文件名].0
[文件名]是你上面用openssl计算出来的,比如:e5c3944b
重启手机
二选一
adb reboot
reboot
系统证书列表
重启之后发现这个就可以了
测试FD抓包
成功了
注意,记得按照常规的fd抓包先配置一次哈~
因为我这个是针对已经配置过了,但是不生效的用户