Fiddler抓取雷电模拟器4.x
Fiddler抓取雷电模拟器4.x
本文原由
之前使用Fiddler
抓取雷电模拟器3.x
版本,是可以按照常规做法,在无线网那里改为手动设置,填入本机ip
和抓取端口(一般为8888
)就能抓取到了,但是毕竟3.x
的雷电安卓版本太低了,最近遇到些个别APP
直接闪退,所以索性换成了4.x
的雷电,但是官方好像并没有优化好,按照3.x
的逻辑已经没有办法抓包了,查阅了很多帖子,进行过多次尝试后终于成功了,为了避免以后少走弯路,所以将抓包配置步骤记录如下
原因分析
雷电4.x
使用的是安卓7
,对用户自行安装的证书不再信任,所以造成无法抓包
因此解决方式就是将证书制作成为系统证书
解决办法
1、打开Fiddler
,依次打开工具类中的工具
,选择选项
,然后找到https
标签页,点击右侧的操作
按钮,选择导出根证书到桌面
2、使用win+R
打开运行窗口,输入cmd
打开提示符窗口,输入如下命令进入桌面
1 | cd Desktop |
3、找到桌面导出的证书FiddlerRoot.cer
,使用如下命令将证书转换为.pem
文件
1 | openssl x509 -inform DER -in FiddlerRoot.cer -out fiddler.pem |
4、解析出证书的hash
值(因为安卓证书文件名是根据hash
值存的)
1 | openssl x509 -inform PEM -subject_hash_old -in fiddler.pem | head -1 |
5、将该hash
值作为新的文件名以.0
结尾
1 | cat fiddler.pem > 269953fb.0 |
6、经过操作,我们可以看到桌面生成了这么几个文件
7、打开雷电模拟器,依次点击右侧工具栏中更多
-共享文件
8、我们首先选择左侧,打开电脑文件夹,将刚刚生成的.0
结尾的文件复制到该目录
9、然后我们点击右侧打开安卓文件夹,勾选该文件,然后依次点击父目录,找到如下目录,将此文件移动到该目录中,这里需要ROOT
权限操作,因为我使用的是精简去广告版,所以自带ROOT
权限,百度搜索相关关键字即可找到资源,这里就不分享了
1 | /system/etc/security/cacerts |
10、移动成功后,我们在当前目录选中刚刚的文件,点击右上角,对属性进行修改如下,然后点击雷电模拟器右上角X
,选择重新启动
11、重启成功后,依次点击设置
-安全
-信任的凭据
中,找到如下凭据,即安装证书成功
12、此时我们点击桌面生成的雷电模拟器图标右键,选择打开文件所在的位置
,此时在该目录中我们在地址栏输入cmd
,按回车进入当前目录的命令提示符界面
13、先使用如下命令,看能否检测到雷电模拟器设备,如果无法检测到,则重启雷电模拟器在尝试此命令,搜索到如下图
1 | adb devices |
14、搜索到设备后,执行如下命令,给雷电模拟器设置全局代理,端口可在Fiddler
设置界面中找到,修改后需要重启Fiddler
才会生效,默认端口为8888
;本机ip
可是在命令提示符中输入ipconfig
找到
1 | adb.exe shell settings put global http_proxy 本机ip:fiddler端口 |
我本地ip为172.18.0.188
,端口为8888
,所以我执行的命令如下
1 | adb.exe shell settings put global http_proxy 172.18.0.188:8888 |
15、配置完成后,重启雷电模拟器后,即可正常进行抓包了