Charles: 抓取Https包

做前端开发的小伙伴儿们,一定听过一个牛叉得不行的抓包工具,叫做Charles,利用这个工具,我们可以很方便的将线上的代码代理到本地,进行联调,也可以通过设置proxy链接同一网段下的移动设备进行联调,可以说是前端开发中的一大利器。

然鹅。。。在使用这个利器的时候,发现了一个很麻(dan)烦(teng)的问题,就是Charles无法抓取Https的包,这TM就很尴尬了。

为了解决这个尴尬的问题,我去网上搜了一把相关资料,发现Charles可以支持https的抓包,但是前提是需要安装证书,而且对Charles的版本有限制,需要Charles的版本在3.11.2以上。根据这些已知条件,我去尝试配置了一波,并且亲测可用,现将配置过程分享给大家:

第一步:配置 Charles 证书
1.打开工具栏,help>ssl proxying>install Charles Root Certificate>,点击安装证书(之后会弹出证书管理界面,如若没有打开,请自行打开);
2.MAC系统下,对Charles的证书默认是不信任的,双击不被信任的证书,里面有个信任的下拉菜单,选择永久信任,保存即可

第二步: Charles配置
这个时候还是无法抓取Https的包,打开 Charles ,进行设置:点击proxy>ssl proxying settings…>Enable SSL Proxying,点击添加,Host 表示你要抓取的 ip 地址或是链接 (port端口根据需要填写),设置完成后就可以抓取数据了。

关于移动端Https的抓包问题:
要想抓取移动端页面的包,需要以下几个条件:
1.手机要和Charles所在的设备处于同一子网;
2.手机上需要安装Charles的证书。证书的安装很简单,在手机连上与Charles同一子网后,在手机的无线连接内设置手动代理,代理服务器的主机名是Charles所在设备的IP地址,端口默认为8888(端口可以在Charles的Proxy>proxy-settings中进行设置)。之后在手机的浏览器地址栏输入charlesproxy.com/getssl 会弹出证书,给证书命名后,点击安装即可。完成安装后,即可抓取手机的Https包~

PS:我使用的Charles版本是3.11.4,以下提供Charles的下载地址以及破解包地址:
破解jar包地址:http://download.csdn.net/download/s0808ong/9488742
工具下载地址:http://download.csdn.net/download/veryip7/9477773

你可能感兴趣的:(charles)