Charles的https抓包方法及原理/下载ssl/http证书

本文的Charles,适应windows/MAC/IOS/Android,避免抓包HTTPS失败和乱码;

charles如果不配置SSL通用证书;

会导致HPPTS协议的域名抓取失败/乱码的现象;

 

首先分析我们需要怎么做?

第一步:电脑端安装 Charles 的 CA 证书(必须)

charles需要下载安装ssl/https证书,因为charles是作为中间的过滤器使用的,具体原理请查看 

这样你就可以访问PC端的https资源了,windows/MAC原理一样;

第二步:电脑上charles的SSL抓取设置(必须)

charles并不是默认抓取ssl的,所以即使你安装完证书之后,Charles 默认也并不截取 Https的信息,你需要在SSL proxy里设置需要抓的域名;

当然如果你想抓取手机端的HTTPS相关资源,还需要下面的第三步;

第三步:手机安装SSL证书

无论IOS/Android,都需要安装SSL证书,原理是手机的SSL证书与电脑上charles SSL证书对接;

 

 

*****************************具体的操作方法**********************************

第一步:电脑安装SSL证书

选择 “Help” -> “SSL Proxying” -> “Install Charles Root Certificate”,如果设置了安全防护,会ranging输入系统的帐号密码。

会让你开始安装charles的证书操作;一路下一步即可;

第二步,配置SSL的抓取域名;

你可以单独配置,必须看到某个想要抓取的域名,点击导航栏Proxy按钮,点击“SSL proxying ,勾选Enable SLL Proxying,设置想要抓包的域名并进行勾选,再次访问就可以抓到了;设置如下图

 

 第三部:可以使用通配设置,设置为所有的HTTPS协议全部允许捕获;

  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.1.117:8888,then browse to chls.pro/ssl to download and install the certificate

大概的意思是让你把手机上的wifi信息设置了 HTTP代理,内容是192.168.1.117:8888;然后用浏览器浏览chls.pro/ssl就可以下载并安装证书了;

当你完成手机的wifi委托为charles作为代理后;

打开手机上的浏览器访问chls.pro/ssl;然后会跳到一个安装描述文件的地方;

直接安装就可以了;

我的已经安装好了,就不再进行演示了

 

文章参考:https://zhubangbang.com/charles-https-packet-capture-method-and-principle.html

posted @ 2021-06-09 17:04  陈晓猛  阅读(2676)  评论(0编辑  收藏  举报