【iTestCat】Charles的https抓包方法(抓包工具Charles使用教程)

1CharlesHttps抓包原理

HTTPS是对数据进行了加密处理的,如果不做任何应对是无法获取其中内容。所以Charles做的就是对客户端把自己伪装成服务器,对服务器把自己伪装成客户端:

【iTestCat】Charles的https抓包方法(抓包工具Charles使用教程)
  • Charles拦截客户端的请求,伪装成客户端向服务器进行请求
  • 服务器向“客户端”(实际上是Charles)返回服务器的CA证书
  • Charles拦截服务器的响应,获取服务器证书公钥,然后自己制作一张证书,将服务器证书替换后发送给客户端。(这一步,Charles拿到了服务器证书的公钥)
  • 客户端接收到“服务器”(实际上是Charles)的证书后,生成一个对称密钥,用Charles的公钥加密,发送给“服务器”(Charles)
  • Charles拦截客户端的响应,用自己的私钥解密对称密钥,然后用服务器证书公钥加密,发送给服务器。(这一步,Charles拿到了对称密钥)
  • 服务器用自己的私钥解密对称密钥,向“客户端”(Charles)发送响应
  • Charles拦截服务器的响应,替换成自己的证书后发送给客户端

当然,如果用户不选择信任安装Charles的CA证书,Charles也无法获取请求内容。还有一种,如果客户端内置了本身的CA证书,这时如果Charles把自己的证书发送给客户端,客户端会发现与程序内的证书不一致,不予通过,此时Charles也是无法获取信息的。

2、Windows/Mac安装Charles证书

1)安装证书

选择 “Help” -> “SSL Proxying” -> “Install Charles Root Certificate”,如下图:

【iTestCat】Charles的https抓包方法(抓包工具Charles使用教程)

安装证书:

【iTestCat】Charles的https抓包方法(抓包工具Charles使用教程)

可以选择证书的安装位置,选择的是本地计算机;

问答

然后为证书选择存储位置,这里必须手动选择存储位置,否则自动选择出来的证书位置仍然是不被信任的。

问答

然后点击浏览,我们手动指定证书的存储位置为“受信任的根证书颁发机构”。

问答

然后点击确定,完成,此时再次进入安装证书的步骤,我们就发现Charles证书已经被系统信任。

直到提示导入成功,如下图:

【iTestCat】Charles的https抓包方法(抓包工具Charles使用教程)

2)配置SSL的抓取域名:

选择“proxy” ->“SSL Proxying Settings”,如下图:

【iTestCat】Charles的https抓包方法(抓包工具Charles使用教程)

点击后打开SSL Proxying Settings界面,如下图:

【iTestCat】Charles的https抓包方法(抓包工具Charles使用教程)

你可以单独配置,也可以设置为所有的HTTPS协议全部允许捕获,如下图:

【iTestCat】Charles的https抓包方法(抓包工具Charles使用教程)

3、手机安装证书

选择“Help”->”Install Charles Root Certificate on a Mobile Device or remote Browser” (在移动设备或远程浏览器上安装SSL证书)

【iTestCat】Charles的https抓包方法(抓包工具Charles使用教程)

可以查看到提示你需要设置代理并浏览器访问地址“chls.pro/ssl”,如下图:

【iTestCat】Charles的https抓包方法(抓包工具Charles使用教程)

在手机端浏览器输入网址“chls.pro/ssl”,如图:

【iTestCat】Charles的https抓包方法(抓包工具Charles使用教程)

下载证书并信任,如下图:

【iTestCat】Charles的https抓包方法(抓包工具Charles使用教程)

注:在iOS 10.3之前,当你将安装一个自定义证书,iOS会默认信任,不需要进一步的设置。而iOS 10.3之后,安装新的自定义证书默认是不受信任的。如果要信任已安装的自定义证书,需要手动打开开关以信任证书。

iOS11下需要手动信任已下载好的证书,方法如下:

设置->通用->关于本机->证书信任设置-> 找到charles proxy custom root certificate然后信任该证书即可。

【iTestCat】Charles的https抓包方法(抓包工具Charles使用教程)

原创文章,作者:iTestCat,保留所有权利,禁止转载,如若转载,请联系作者!

(2)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
iTestCat的头像iTestCat
上一篇 2018年11月16日 下午5:31
下一篇 2018年11月16日 下午6:29

相关推荐

发表回复

登录后才能评论

评论列表(1条)