安卓7.1以上模拟器抓取HTTPS数据
安卓7.1以上模拟器抓取HTTPS数据
由于安卓7.1以上无法抓取到https的包,主要原因是证书问题,证书需要安装到系统目录下而不是用户目录下,这样才能抓取https包,所以使用这种方法可以成功抓取到https的包。大家可以试试
工具准备
步骤一:下载并安装Charles程序
- 下载Charles抓包工具。
- 解压并安装Charles程序。
- 启动Charles程序。
步骤二:配置Charles抓包设置
- 在Charles程序中,依次点击
代理
->SSL代理设置
。 - 在弹出的窗口中,点击
启用SSL代理
复选框。 - 点击
添加
按钮,输入*:443
,确保443端口的流量被代理。
步骤三:安装Charles根证书
- 在Charles程序中,点击
帮助
->SSL代理
->安装Charles根证书
。 - 在证书安装向导中,选择安装到
受信任的根证书颁发机构
。
步骤四:配置安卓模拟器网络代理
- 打开雷电模拟器。
- 进入模拟器的
Wi-Fi设置
,选择当前连接的Wi-Fi,点击修改网络
。 - 勾选
显示高级选项
,设置代理
为手动
。 - 代理地址填写你电脑的IP地址,端口填写Charles监听的端口(默认为8888)。
步骤五:在安卓模拟器中安装Charles证书
- 打开模拟器中的浏览器,访问
http://chls.pro/ssl
。 - 自动下载Charles证书,点击安装证书。
- 系统会要求设置密码,设置密码后完成证书安装。
步骤六:获取并复制证书文件
- 在模拟器中,使用文件管理器浏览到
/data/misc/user/0/cacerts-added
目录。 - 找到一个以hash值命名的文件,这是刚刚安装的证书文件。
- 将此文件复制到电脑桌面。
步骤七:将证书文件复制到系统目录
- 打开DG硬盘分区工具。
- 使用DG工具打开模拟器的
system.vmdk
虚拟磁盘。 - 浏览到
/system/etc/security/cacerts/
目录。 - 将刚刚复制到桌面的hash文件(证书)复制到此目录。
- 保存并关闭虚拟磁盘文件。
完成
经过以上步骤设置后,你现在可以在Charles中抓取雷电模拟器中发出的HTTPS请求数据了。以下是一些优化建议:
- 确保模拟器的网络设置正确,否则可能无法与Charles通信。
- 确保Charles证书已正确安装,并被系统识别为受信任的根证书。
- 遇到问题时,可以重新检查每一步骤是否正确执行。
这样设置完毕后,你就能成功抓取到安卓模拟器的HTTPS流量包。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 小陈点滴记忆!
评论