Fiddler 模拟器抓包,SSL抓包不到

 之前安装了Fiddler 抓包雷电模拟器中的数据,很容易抓包到,最近测试抓包,但是一直抓包不到数据,网友反映是因为雷电升级了的原因,4.0以上都抓包不到了

今天安装了逍遥模拟器,设置好后,马上就抓包到了,但是SSL的https,抓包不到实质数据,全部提示:Tunnel to

网上搜索了一堆,找到了解决方案:

原因:之前在模拟器中安装证书的时候,是直接访问PC端的地址+端口,下载并安装证书的,这样证书安装后会在用户证书这里

但是现在的SSL,需要把证书推到系统证书里面才行

安卓上证书的目录是放在 /System/etc/security/cacerts 中,但是不能直接把证书从PC端复制到安卓中

所以需要做几件事情

1.从Fiddler中导出证书,导出来的证书一般是.cer 格式的,我们要把它转换成 .pem 格式。

   转换格式的时候,需要用于命令:

  使用openssl的时候,命令出错的话,需要先下载一个openssl 并安装

https://slproweb.com/products/Win32OpenSSL.html

#1. 证书转换,已经是pem格式的证书不需要执行这一步
openssl x509 -inform DER -in xxx.cer -out cacert.pem 

#2. 进行MD5的hash显示

#openssl版本在1.0以上的版本的执行这一句
openssl x509 -inform PEM -subject_hash_old -in cacert.pem    

#openssl版本在1.0以下的版本的执行这一句
openssl x509 -inform PEM -subject_hash -in cacert.pem
将第二条指令输出的类似347bacb5的值进行复制

tips: 查看openssl版本的指令openssl version 

 

  命令执行后生成 269953fb, 然后把这个pem文件手工修改成 269953fb.0

   将pem证书重命名,使用上面复制的值(类似于269953fb)对pem证书进行重命名,

  用 mv cacert.pem  269953fb.0 会出错,我就手工修改了。可能是mv这个命令我这边环境不对

2. 再用adb命令把这个改名后的证书文件推送到系统证书里面去。不能手工从PC复制进去,也找不到这个目录

    

adb root
adb remount
adb disable-verity
adb push 269953fb.0 /system/etc/security/cacerts
adb enable-verity
adb reboot

 执行到这里,重启一下模拟器,就可以抓到包了

参考:

https://blog.csdn.net/weixin_53485288/article/details/118786741

https://helloworddm.blog.csdn.net/article/details/98363056

原文地址:https://www.cnblogs.com/gfwei/p/15217773.html