Charles安装和抓包原理

进行APP服务器开发,接口测试、bug定位,抓取移动端请求数据包在所难免,公司使用的Charles,后面有机会使用了其它软件再做对比。Charles并不是安装即可用,涉及一些参数配置,特此记录分享。

1 安装、破解Charles

1.1 下载安装

从charles官网下载安装。

1.2 破解

安装好的charles,有每次只能使用30分钟限制,破解教程。

2 抓取https数据包配置

安装好的Charles虽然可以抓http包,但对抓取的https数据包,数据包不能解析,需要下载安装证书,并配置需要拦截的ip和端口号,将charles设置为代理服务器,这样客户端发送的服务器的请求就能够被charles拦截。

2.1 证书下载

从http://chls.pro/ssl 下载证书,钥匙串访问中会自动识别已经下载的charles证书,设置为允许访问。
Charles安装和抓包原理_第1张图片
Charles安装和抓包原理_第2张图片

2.2 charles代理服务拦截ip和端口号设置

设置可以拦截任意ip和端口号,也可以设置拦截来自指定ip和端口的服务请求。
Proxy-》SSL Proxying Settings-》SSL Proxying
Charles安装和抓包原理_第3张图片

3 设置Charles拦截手机端请求

拦截charles能够拦截指定手机请求,前提保证charles所安装终端设备和手机端处于同一个局域网内。

3.1 设置Charles 代理端口号

3.2 修改手机连接局域网代理IP和和端口号

修改手机连接局域网ip为安装charles所在终端设备IP,端口号为上面配置的9999,此时charles相对于手机端,变成了一个代理服务器。如果终端设备连接的是无线网,每次连接无线网后ip是自动分配,ip不能保证每次都是相同,可能每次重新调整连接局域网都需要重新配置,解决办法。
Charles安装和抓包原理_第4张图片

4 配置成功验证

在手机自带浏览器中,打开百度搜索引擎,输入“核算几个小时后出结果”,并进行搜索,可以看到charles中成功抓到到请求和搜索结果。
Charles安装和抓包原理_第5张图片

5 Charles抓包原理

参考
1、客户端向服务器发送https请求。
2、Charles拦截客户端请求,伪装成客户端向服务器发送请求。
3、服务端向客户端(实际是charles)返回CA证书。
4、Charles接受服务器返回的CA证书,同时向客户端返回自己的CA证书,替换服务器真实证书。
5、客户端收到charles返回的CA证书,生成一对对称密钥,用charles的公钥匙进行加密,向charles发送请求,
6、Charles接收到客户端请求,使用自己的私钥进行解密,然后使用服务器的内容公钥再进行加密,向服务器发送请求。
7、服务器用自己的私钥进行解密请求,响应客户端(charles)请求。
8、Charles接受服务器请求,替换自己的证书响应客户端。
9、至此,Charles用户服务器的CA证书,能够向服务器发送请求并能接受并解密Charles响应;同时,Charles向客户端颁发了CA证书,能接收并解密客户端请求,并对客户端进行响应。

你可能感兴趣的:(软件安装,服务器,ssl,https)