安卓7.0以上抓包配置--Charles
一、准备工作
- 下载并安装Charles
下载地址:Charles官方网站
安装步骤:按照提示完成安装,启动Charles。
- 获取电脑端Charles的IP地址和端口号
步骤:点击Charles菜单栏中的Help -> SSL Proxying -> Install Charles Root Certificate,选择“本地计算机”,完成安装后记下Charles代理的IP地址和端口号(默认为8888)。
二、在安卓设备上设置代理
- 连接同一网络
确保安卓设备与安装了Charles的电脑连接到同一个Wi-Fi网络。
- 配置代理设置
路径:进入手机的“设置”->“WLAN”,点击当前连接的Wi-Fi网络,选择“修改网络”。
代理设置:选择“手动”,输入Charles的IP地址和端口号(如192.168.137.1:8888),保存设置。
三、安装Charles证书
- 下载Charles证书
步骤:在手机浏览器中访问chls.pro/ssl 下载证书,如果下载失败,可以尝试访问 http://charlesproxy.com/getssl 直接下载证书。
- 安装证书
格式转换:将下载的证书文件后缀改为.pem 或.crt。
安装步骤:进入手机“设置”->“安全”->“更多安全设置”->“加密与凭据”->“安装证书”→“CA证书”,找到下载好的证书并安装。
四、信任Charles证书
- 信任证书
路径:进入手机“设置”->“关于手机”->“证书信任设置”,找到刚刚安装的Charles证书,开启信任。
五、高级操作(针对Android 7.0及以上版本)
- 导出Charles证书
步骤:在Charles中点击Help -> SSL Proxying -> Save Charles Root Certificate…,保存到桌面或其他位置。
- 计算证书Hash值
命令:打开终端或命令提示符,使用openssl命令计算证书的Hash值。
openssl x509 -inform PEM -subject_hash_old -in charles-ssl-proxying-certificate.pem
以我的为例,示例输出:2b1c7f38(此值为示例,实际值以计算结果为准)。
- 重命名证书文件
步骤:将证书文件重命名为计算出的Hash值,例如e8c698d2.0。
- 上传证书到安卓系统目录
两种方法:
方法一,使用adb:
步骤:使用adb工具将证书上传到安卓设备的系统根目录。
adb push 2b1c7f38.0 /system/etc/security/cacerts/
权限修改:上传完成后,赋予证书正确的权限。
adb shell chmod 644 /system/etc/security/cacerts/2b1c7f38.0
方法二,使用界面工具导入修改后的证书文件
在mac本地电脑上安装开源工具:
下载地址:https://github.com/ganeshrvel/openmtp/releases
安装后,打开工具直接拖动即可
以荣耀magic6为例,手机本地安装证书路径如下:
六、验证安装
- 重启手机(我是那个荣耀magic6,使用上面的方法二安装证书,没有重启手机就生效了)
确保证书生效,建议重启手机。
- 测试抓包
打开Charles,确认SSL Proxying已启用,尝试通过手机浏览器访问HTTPS网站,检查Charles是否能成功抓包。