本文参考:charles 手机证书下载安装
本文的 Charles,适应 windows/MAC/IOS/Android, 避免抓包 HTTPS 失败和乱码;
用的版本是 V4.1.2,其它版本原理类似;
charles 如果不配置 SSL 通用证书;
会导致 HPPTS 协议的域名抓取失败 / 乱码的现象;
现在 SSL 越来越多,很多博客都上了 SSL,支付相关的行业更是基础配置;
charles 配置 SSL 证书,算起来很简单,操作简洁;
首先分析我们需要怎么做?
第一步:电脑端安装 Charles 的 CA 证书(必须)
charles 需要下载安装 ssl/https 证书,因为 charles 是作为中间的过滤器使用的,具体原理请查看 charles 使用教程
这样你就可以访问 PC 端的 https 资源了,windows/MAC 原理一样;
第二步:电脑上 charles 的 SSL 抓取设置(必须)
charles 并不是默认抓取 ssl 的,所以即使你安装完证书之后,Charles 默认也并不截取 Https 的信息,你需要在 SSL proxy 里设置需要抓的域名;
当然如果你想抓取手机端的 HTTPS 相关资源,还需要下面的第三步;
(还不会手机抓包普通 HTTP 的,请点击 charles 手机抓包设置)
第三步:手机安装 SSL 证书 ;
无论 IOS/Android, 都需要安装 SSL 证书,原理是手机的 SSL 证书与电脑上 charles SSL 证书对接;
***************************** 具体的操作方法 **********************************
第一步:电脑安装 SSL 证书
选择“Help”->“SSL Proxying”->“Install Charles Root Certificate”,如果设置了安全防护,会 ranging 输入系统的帐号密码。
会让你开始安装 charles 的证书操作;
一路下一步即可;
第二步,配置 SSL 的抓取域名;
你可以单独配置,必须看到某个想要抓取的域名,右键点击“SSL proxying:Enableed”那么当前你设置后的域名,再次访问就可以抓到了;设置如下图
我个人并不喜欢这种的设置;每次都需要一个一个的配置,很蛋疼;
可以看到我上面的配置,那个“SSL proxying:Enableed”配置 默认就是灰色的,这是因为我做了通用设置的原因;我是设置为所有的 HTTPS 协议全部允许捕获;
我的设置如下;
首先找到 proxy – SSL Proxying Settings;
然后选中启用 SSL 代理(Enable SSL Proxying),因为 charles 的 location 配置都是支持通配符的,所以在 HOST 里设置一个”*”就可以了,port 不写;
如果你需要配置某个指定域名,也是在这里填写的;
配制特定域名的时候,一般 port 为 443(SSL 常规为 443);
这样,你就可以愉快的抓取到 HTTPS 的内容了;
第三步:手机安装 SSL 证书(如果你需要抓取手机访问的 HTTPS 网站,需要做此设置,但如果你不需要手机抓取 HTTPS,就没有必要安装了)
和上面类似,也是 HTLP 下面的 SSL Proxying,选择”Install Charles Root Certificate on a Mobile Device or remote Browser”(在移动设备或远程浏览器上安装 SSL 证书)
然后会看到一个弹窗,提示你该怎么操作
configure your device to use charles as its HTTP proxy on 192.168.10.108.8888,then browse to chls.pro/ssl to download and install the certificate
大概的意思是让你把手机上的 wifi 信息设置了 HTTP 代理,内容是 192.168.10.108.8888;然后用浏览器浏览 chls.pro/ssl 就可以下载并安装证书了;
我的版本是 V4.1.2 的版本,所以如果您是别的版本,提示信息可能不一样;
charles 的手机上抓取普通 HTTP 的设置,请参考“charles 手机抓包设置”这里只是抓取 HTTPS 的;
上面的 192.168.10.108.8888 这是我电脑的 IP 和设置和设置的端口,具体要以你实际的为准;
当你完成手机的 wifi 委托为 charles 作为代理后;
打开手机上的浏览器访问 chls.pro/ssl;然后会跳到一个安装描述文件的地方;
直接安装就可以了;
我的已经安装好了,就不再进行演示了
好了,现在去看看吧,已经可以正常捕获到 HTTPS 的了;
上一章访问我自己博客的 https 抓包记录
——-END——
本文参考阿西河教程编写:https://www.axihe.com/