下载地址:
https://www.charlesproxy.com/latest-release/download.do
一、电脑证书安装
安装证书
无论电脑端还是手机端进行抓包,都需要先安装对应证书才能使用。装好证书后还要配置网页浏览端口,来抓取浏览器上的请求。需在Proxy–>SSL Proxying Settings配置添加Host为*,Port为443。如图所示:
2、Proxy–>SSL Proxying Setting配置网页浏览端口
二手机证书安装
安卓7.0以下证书配置
在手机接入电脑wifi(或处于同一局域网),手机端配置手动代理:输入安装Charles的电脑的网络地址,端口填8888。手机浏览器输入: chls.pro/ssl ,来下载安装证书。
1、查看charles端口,一般默认8888
2、手机端wifi详情设置手动代理
3、手机配置好代理,电脑上Charles会弹出弹框,点击运行
4、上述操作,已经可以抓包但会出现unknown报错
手机端浏览器输入:chls.pro/ssl ,来下载并安装证书
注意:
1、android下载的证书,是“.pem”为后缀的文件,需要改成“.cer”文件,双击安装即可
2、ios下载的证书,需要在设置–>通用–>描述文件–>点击Charles Proxy CA文件进入进行安装验证即可
以上配置完成就可以抓包了
安卓7.0以上证书配置
· http 直接配置代理
· https 将证书安装到系统证书中(默认不支持,需要root权限后才能操作)
1、下载证书
2、处理证书
3、证书放到设备的系统证书目录
导出证书
Charles 进入 Help > SSL Proxying > Save Charles Root Certificate, 导出 pem 格式证书.
然后进行如下的操作:
处理证书
安装Openssl
https://slproweb.com/products/Win32OpenSSL.html
安装后
处理证书
命令:openssl工具 x509 -subject_hash_old -in 证书文件路径.pem
例如:openssl x509 -subject_hash_old -in H:\test\charles.pem
a9cf1fe8
重命名证书
将证书重命名
·原名称:charles.pem
·重命名:处理证书得到的字符串.0
上个步骤(处理证书步骤)执行得到的字符串为:a9cf1fe8 ,所以,需要重命名为:a9cf1fe8.0
拷贝文件, 将生成好的证书文件拷贝到
/system/etc/security/cacerts/ 目录下, 并且修改文件权限:
# adb 连接到 vmos 虚拟机
adb connect 192.168.50.100:5666
# 拷贝文件
adb push faf57fe3.0 /system/etc/security/cacerts/
# 修改文件权限
adb shell
cd /system/etc/security/cacerts/
chmod 644 faf57fe3.0
注意此处有坑:拷贝文件到手机中时遇到一个错误,
错误信息:chmod: chmod 'system' to 40777: Read-only file system
解决方法:
1、尝试给此文件路径赋权(chomd 777) 没能成功
2、安装Root Explorer(此方法有效)
下载地址https://download.csdn.net/download/weixin_43335288/86268659
操作步骤
1、先将文件传到手机的/sdcard/目录
2、在手机上安装Root Explorer管理器,
3、打开Root Explorer管理器,返回根目录挂载读写权限&将根证书拷贝到系统目录 /system/etc/security/cacerts/
再次目录查看,文件已经移到系统目录
此时,charles就可以抓安卓7.0以上设备https的包了。
注意:以上操作手机必须root才行,另外,因为手机型号不通,操作可能不同,如遇到问题,请结合网络资源自行调整