charles支持https抓包配置

自从公司站点全部启用https后,使用charles就不能像以前那样愉快的抓包啦!不过没关系,这里教你怎么配置charles,使其支持https抓包。之前有一篇介绍charles的使用,参考这篇:http://www.cnblogs.com/zourong/p/4766577.html

 

原理分析

HTTPS(Hyper Text Transfer Protocol Secure),是一种基于SSL/TLS的HTTP,所有的HTTP数据都是在SSL/TLS协议封装之上进行传输的。HTTPS协议是在HTTP协议的基础上,添加了SSL/TLS握手以及数据加密传输,也属于应用层协议。所以,研究HTTPS协议原理,最终就是研究SSL/TLS协议。

盗用网上的图,大致流程如下:

 

charles抓包原理:

1. 如果是http请求,charles可以直接代理抓到所有的请求数据。

2. 如果是https请求,charles则会截获真实客户端的https请求,伪装成客户端向真实服务器发送https请求。收到真实服务器的响应后,charles用自己的证书伪装成服务器向真实客户端发送数据内容。简而言之,charles对客户端伪装成服务端,对服务端伪装成客户端。

这里只分析客户端对服务端做证书校验的情况。将私有CA签发的数字证书安装到手机上,并作为受信任证书保存,这是推荐的方式。

 

安装步骤

第一步:下载破解版的charles

下载链接:https://pan.baidu.com/s/1gf4HPbd 

第二步:charles安装证书

打开charles,步骤如下图:

 安装完成后Keychain Access(钥匙访问串)被打开,可以查看证书是否安装好。如下图:

 如果证书不被信任,则添加到信任证书列表里。操作如下图:

第三步:给手机安装证书

打开charles,安装如下图:

 此时会出现弹窗,如下图:

手机安装证书有两种操作。

操作1:按上面截图提示,手机浏览器访问 chls.pro/ssl 下载安装证书。

操作2:打开Charles的HELP->SSL Proxying -> Export Charles Root Certification and Private Key,随便输个密码,密码要记住。然后导出保存到电脑上,再传到手机里,打开手机的 “WLAN” “高级设置”,在“安装证书”里打开这个证书文件,输入刚才的密码,就可以了。

我的手机是华为机,用的第二种方法解决的。

 

第四步:charles设置支持SSL Proxying

第一步如下图:

第二步如下图:

 

 

参考链接:https://www.jianshu.com/p/870451cb4eb0

 

posted @ 2017-12-27 15:34  ZRainna  阅读(1261)  评论(0编辑  收藏  举报