一、charles的使用
1.1 charles的说明
Charles其实是一款代理服务器,通过过将自己设置成系统(电脑或者浏览器)的网络访问代理服务器,然后截取请求和请求结果达到分析抓包的目的。该软件是用Java写的,能够在Windows,Mac,Linux上使用。安装Charles的时候要先装好Java环境。
Charles的主要功能:
(1)截取Http 和 Https 网络封包。
(2)支持重发网络请求,方便后端调试。
(3)支持修改网络请求参数。
(4)支持网络请求的截获并动态修改。
(5)支持模拟慢速网络。
1.1.1 charles的下载和安装
1、安装包的下载
(1)进入官网下载地址:http://www.charlesproxy.com/,点击链接下载30天免费试用版本。
(2)云盘中文破解免费版:链接: https://pan.baidu.com/s/1PgqzfYmAiOUdDmonDai1aA 密码: azsb
PS:Charles 是收费软件,可以免费试用 30 天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过 30 分钟,并且启动时将会有 10 秒种的延时。因此,该付费方案对广大用户还是相当友好的,即使你长期不付费,也能使用完整的软件功能。只是当你需要长时间进行封包调试时,会因为 Charles 强制关闭而遇到影响。
https://www.zzzmode.com/mytools/charles/ 将补丁包charles.jar下载并覆盖到charles的lib文件下即可
1.1.2 charles与手机/电脑的连接
1.1.2.1 charles与手机端的连接
使手机和电脑在一个局域网内,不一定非要是一个ip段,只要是同一个路由器下就可以了。
(1)首先利用cmd -config命令查看自己电脑的ip地址
(2)然后在手机端的wifi代理设置那里去进行相关的配置设置。
这里的代理服务器地址填写为电脑的ip地址,然后端口这里写8888(这个是charles的默认设置),如果自己修改了就写成自己所修改的端口就可以了。
配置完成,会看到一个charles与手机端的连接提示弹窗,选择allo即可。
(3)手机端抓包https
上述1、2步骤,只针对http请求。由于https协议的特殊性,所以要求电脑端和手机端都需要安装下证书,否则会看到返回的数据都是乱码。
a.电脑端证书下载
b. 手机端证书下载
在设备上打开这个网址 http://www.charlesproxy.com/getssl 安装 Charles SSL 证书。
注意,同一个手机对应不同电脑上的Charles都要分别下载证书进行认证,因为手机的证书是和电脑端的Charles一一配对的。
PS:ios手机,需要信任该证书
C.相关配置
选择Proxy | Proxy Settings,弹出proxy设置选项卡,勾选Enable SSL Proxying,在Location部份选择add,按如下图添加,抓取任意站点、443端口的数据。
1.1.2.2 charles与电脑端的连接
由于charles会自动配置浏览器和工具的代理设置,所以说打开工具直接就已经是抓包状态了。直接打开网页就可以了。
注意:
(1)Charles支持抓去http、https协议的请求,不支持socket。
(网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket)
(2)防火墙关掉
1.1.2.3 过滤请求
通常情况下,我们需要对网络请求进行过滤,只监控向指定目录服务器上发送的请求。对于这种需求,以下几种办法:
方法一:在主界面的中部的Filter栏中填入需要过滤出来的关键字。例如我们的服务器的地址是:www.baidu.com,那么只需要在 Filter 栏中填入