fiddler手机抓包/模拟器抓包配置代理没有网络问题
最近工作需要对app进行网络抓包,安装了fiddler工具,使用夜神模拟器模拟手机抓包,各种配置都配置完了,但是app还是不能联网,现将解决方法记录如下:
【问题原因】
当我们在手机或者模拟器安装fiddler证书时,证书都是安装在用户证书目录下的,Android7.0版本之后的应用是默认只信任系统证书,不信任用户证书的,所以我们有两种方法去解决这个问题。1、将Fiddler证书装到系统证书目录下,伪装成系统证书,2、使用Android5.0版本的手机或者模拟器,下面使用第一种方法。
1、导出fiddler证书
在此之前请确保你的fiddler已经安装配置完成!
2、首先关闭fiddler,然后下载fiddlercertmaker.exe工具,双击下载好的fiddlercertmaker.exe(确保已关闭Fiddler),会弹出提示导入证书成功这个对话框,点击确定
导出fiddler证书到电脑桌面,Tools -> Options -> HTTPS -> Actions -> Export Root Certificate to Desktop
完成之后在电脑桌面会出现一个FiddlerRoot.cer证书
2、安装openssl
到openssl下载地址下载好windows版的openssl
2、点击安装,一路点击下一步
3、安装完成后需要配置环境变量,将安装目录的bin目录配置到环境变量
打开终端输入openssl version
或者输入openssl
出现下图信息表示安装成功
3、证书格式转换
将Fiddler cer
证书转pem
证书,在cmd输入如下命令:openssl x509 -inform DER -in 电脑桌面证书路径.cer -out 电脑桌面证书路径.pem
openssl x509 -inform DER -in C:\Users\Administrator\Desktop\FiddlerRoot.cer -out C:\Users\Administrator\Desktop\FiddlerRoot.pem
计算pem
证书的hash
值,输入如下命令:openssl x509 -inform PEM -subject_hash_old -in 电脑桌面证书路径
openssl x509 -inform PEM -subject_hash_old -in C:\Users\Administrator\Desktop\FiddlerRoot.pem
上图的e5c3944b
就是pem
证书的hash值。
使用e5c3944b
对pem
证书重命名,命令如下:ren 电脑桌面证书路径 证书hash值.0
ren C:\Users\Administrator\Desktop\FiddlerRoot.pem e5c3944b.0
4、安装证书到系统目录
这里我使用的是夜神模拟器
打开终端输入adb connect 127.0.0.1:62001
连接夜神模拟器(如果出现'adb' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
那么需要找到SDK安装路径下的platform-tools路径,输入cmd打开终端即可)
2、cmd 输入adb shell
3 、cmd 输入 cd /system/etc/security
,
4、cmd 输入 ls -l
查看权限,此时没有写入的权限
5、cmd 输入chmod 777 cacerts
此时对目录拥有写入权限,可以再次输入老ls -l
查看目录权限
现在已经拥有写入权限。
如果输入chmod 777 cacerts
出现 Read-only file system
需要重新挂载一下系统,输入mount -o remount,rw /system
再次输入chmod 777 cacerts
就成功了。
cmd输入exit
退出shell终端,然后输入adb push C:\Users\Administrator\Desktop\e5c3944b.0 /system/etc/security/cacerts,将事先转换好的Fiddler证书推送到夜神模拟器的/system/etc/security/cacerts目录下
此时已经将fiddler证书安装到了模拟器的系统证书目录里了,打开夜神模拟器
大功告成!可以看到fiddler证书已经安装到系统目录了。
确保模拟器设置好了代理IP和端口,此时打开fiddler抓取模拟器的包就不会出现没有网络的问题了。
最后,特别感谢!Android 7.0+模拟器Fiddler抓包详细教程
来源地址:https://blog.csdn.net/m0_61427728/article/details/128351139
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341