本人使用的手机是小米8SE,Android系统8.1,抓包工具Charles,系统window11
理论上无论多少版本的Android系统,只要能将Charles的证书设置为系统证书就能正确抓取https
下面是我个人的实现步骤
1. 获取系统root权限->教程
2. 获取证书的md5 hash
值
导出Charles证书
<div align="left"> <img src=https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/d813f89632f1416693f4d496d5ba78e1~tplv-k3u1fbpfcp-watermark.image? width=80% height=80% /> </div>
在终端cmd使用openssl获取证书md5 hash
值,如果系统还没安装openssl需要先安装安装教程,安装好要设置好系统变量
使用openssl获取证书md5 hash
值命令
openssl x509 -subject_hash_old -in charles_certificate.pem
成功获取如下
<div align="left"><img src=https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/dc62d94a367547b6a83af5e05f9c4405~tplv-k3u1fbpfcp-watermark.image? width=80% height=80%/></div>
复制第一行的hash值,将证书文件名改为
<你的hash值>.0
3. 将证书放置系统->教程
4. 设置好代理
charles如何设置手机代理请百度,很多教程
记得设置charles的ssl
<div align="left"><img src=https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/cf8f63df65144d8bb4b034db3cbfc7ab~tplv-k3u1fbpfcp-watermark.image? width=60% height=60%/></div>
5. 成功抓取https
<div align="left"><img src=https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/3e0a95df5ac14783a2016b134a504712~tplv-k3u1fbpfcp-watermark.image? width=80%/></div>
<div align="left"><img src=https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/40daa61c34264680a49887e6c19a136f~tplv-k3u1fbpfcp-watermark.image? width=20%/></div>
网友评论