之前使用的fiddler4和雷电模拟器3进行抓包,最近在使用模拟器访问app内嵌的网页(vue编写的)时发现雷电3无法访问加载vue编写出的网页。所以决定换到雷电4。当前下载的版本是雷电模拟器4.0.79。按照之前的配置雷电3的方式配置雷电4的代理后发现无法使用fiddler进行抓包,根据网上大佬们的指导,进行多次尝试,最后得以成功。将此次抓包配置步骤记录下来,以便后续查看。


原因分析:

雷电4使用的是安卓7,安卓7对用户自行安装的证书不再信任,所以造成无法抓包。因此解决方式就是将证书制作成为系统证书。通过git bash命令窗口进行操作:

1.将fiddler生成的证书,转换为.pem文件

openssl x509 -inform DER -in FiddlerRoot.cer -out fiddler.pem

2.解析出证书的hash值(因为安卓证书文件名是根据hash值存的)。

openssl x509 -inform PEM -subject_hash_old -in fiddler.pem | head -1

3.将该hash值作为新的文件名以".0"结尾。 

cat fiddler.pem > 269953fb.0

雷电模拟器开启gpu强制2d渲染_经验分享

将新命名好的.0文件,通过雷电模拟器4(需要开启ROOT权限)自带的文件管理器,将此文件放置到

/system/etc/security/cacerts

目录中。将此文件的权限修改为-rwr--r--。并重启雷电模拟器4。 

 

雷电模拟器开启gpu强制2d渲染_抓包_02

雷电模拟器开启gpu强制2d渲染_抓包_03

雷电模拟器开启gpu强制2d渲染_重启_04

 

 重启雷电模拟器4后,在设置-安全-信任的凭据-系统中找到fiddler证书,则安装证书成功。

雷电模拟器开启gpu强制2d渲染_雷电模拟器开启gpu强制2d渲染_05

 安装成功后,按照配置雷电模拟器3时的操作步骤应该是在wifi设置中设置fiddler代理。但是通过网上大佬们的分享以及自己实践发现,雷电模拟器4中wifi设置的代理配置是无效的。解决方式多样,目的就是真正成功的设置代理。这里使用的是adb方式设置雷电模拟器的代理。

在雷电模拟器的安装根目录下有adb.exe可执行文件,通过命令行进行操作,优先使用

adb.exe devices

 命令检索当前的设备(如果未检索到,可以重启一次雷电模拟器4。即可搜索到)

雷电模拟器开启gpu强制2d渲染_经验分享_06

 能够检索到模拟器设备后,执行以下命令,给雷电模拟器4设置全局代理。

adb.exe shell settings put global http_proxy 本机ip:fiddler端口

设置后重启雷电模拟器4,即可发现能够使用fiddler进行抓包操作。

雷电模拟器开启gpu强制2d渲染_重启_07