使用Charles 连接手机抓包出现Unknown,一直返回unknown无法抓包的问题解决
Android 7以后root后抓包
在安卓版本大于7,不能抓包的问题,先检查是否在同一网络/Charles电脑证书问题是否信任,等等(这些网上一堆),手机再安装证书,iOS很简单,安卓比较麻烦,检查电脑和安卓手机证书都已经安装没问题,网上说在系统-安全–其他安全-从设备存储安装证书,我这边都不行,出去查了下说是谷歌安卓7以后限制不允许了,好在我手机root了,发现新方法,电脑导出Charles证书(后缀.pem)在桌面,通过openssl计算出导入安卓设备的证书名称,先终端命令openssl version
检查电脑是否有openssl,有的话执行openssl x509 -subject_hash_old -in /文件路径Downloads/charles-ssl-proxying-certificate.pem
(可以直接拖进终端)-回车,(没有的话自己百度下安装openssl,Mac系统不需要安装)拿到回车后第一行的8位数的名称,把之前保存在桌面的Charles证书重命名12345678.0
文件,然后发送到手机,手机通过“mt管理器”app界面左侧找到文件,然后导入到右侧的system/etc/security/cacerts/ 目录下
,长按文件名-属性-更多-权限-修改读取权限-改成644
-确定,然后重启下Charles软件,就能抓包了,网上一堆不切实际的方法,实测这个可行