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证书,设置为允许访问。
在这里插入图片描述
在这里插入图片描述

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

设置可以拦截任意ip和端口号,也可以设置拦截来自指定ip和端口的服务请求。
Proxy-》SSL Proxying Settings-》SSL Proxying
在这里插入图片描述

3 设置Charles拦截手机端请求

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

3.1 设置Charles 代理端口号

在这里插入图片描述

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

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


4 配置成功验证

在手机自带浏览器中,打开百度搜索引擎,输入“核算几个小时后出结果”,并进行搜索,可以看到charles中成功抓到到请求和搜索结果。
在这里插入图片描述

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证书,能接收并解密客户端请求,并对客户端进行响应。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值