安卓手机/pad用Charles抓包https(mac版超详细教程)
前置条件:charles抓取手机数据包的前提,手机和电脑需要在一个局域网内。
1.charles的配置
在charles中【proxy->proxy Settings】设置进行代理的端口
电脑端安装https证书:
此时会启动“钥匙串访问”APP,并找到刚开安装好的证书,证书名字:Charles Proxy CA,找不到的可以搜索框搜下。
更改证书信任权限。更改为始终信任,并关闭窗口输入密码保存。
移动复制该证书到“系统”里面。此时电脑端的证书就配置完毕了!
电脑端就可抓到https了;
在【Help->SSL Proxying】点击install charles root certificate on a mobile device or remote browser,查看手机端如何与charles相连
选择OK,弹框提示内容里写了怎么在手机上使用charles代理,接下来我们就按照步骤来操作
2.手机/PAD配置
在手机或者pad,浏览器中输入:chls.pro/ssl 下载证书
直接点击,却提示“无法打开文件”,怎么办?
我们选中下载好的文件,点击更多-任务详情,去文件管理中找到它
长按选中文件,点击更多-重命名
将.pem的后缀改为.crt后确定,根据提示再次确定
这时再次单击我们重命名的文件,按提示给证书取个名字,安装成功。
如果此时手机还显示无法连接网络,可以重连一下wifi。
可能遇到的问题
1.如果输入chls.pro/ssl 下载证失败,直接用Charles Web Debugging Proxy • SSL CA Certificate installation这个链接下载证书包,然后修改后缀 将.pem的后缀改为.crt,发送到手机上安装;
2. 手机下载并安装SSL证书
在手机上打开浏览器,输入地址:chls.pro/ssl选择允许,安装证书。随后去【设置】 > 【通用】 > 【描述文件】下面
安装成功,进入当前列表选择已安装的文件,显示【已验证】,OK;
3.【设置】 > 【通用】>【关于本机】>【证书信任设置】,将安装的证书启用,如下图。
3.在使用过程中,发现电脑上的证书过期了,谷歌浏览器,只要打开charles抓包,就会出现这个错误;
知道原因后,就去下载新的证书,然后替换掉老的证书;
方法1,不行:
这里下载 ,无论是选择,登录,系统都下载不了;
方法2,说打开http://chls.pro/ssl,也失败了;
方法3,成功:
执行图中的2个步骤;
然后打开,钥匙串,选择登录-文件-导入项目
导入后,右键该证书,选择 显示简介-信任后;
再打开谷歌浏览器抓包,就不会提示证书失效了;