您现在的位置是:首页 >技术交流 >详解抓包神器---Charles网站首页技术交流

详解抓包神器---Charles

狼道21 2024-06-17 11:25:17
简介详解抓包神器---Charles

在这里插入图片描述
前言
Charles 是移动端和PC端常用的网络抓包工具,测试人员和开发人员能够查看客服端和服务器之间的所有HTTP/ HTTPS/SSL网络请求,从而实现对网络抓包的截取和分析。
官网下载地址:
www.charlesproxy.com/download/

下载
Charles 是一款收费软件,但可以免费试用 30 天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过 30 分钟,并且启动时将会有 10 秒种的延时。因此,该付费方案对广大用户还是相当友好的,即使不付费,也能使用完整的软件功能。

                     **PC端配置**

安装证书:
■ Help --> SSL Proxying --> Install Charles Root Certificate ,一直点击“下一步”,证书安装完成。
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

设置https协议
■ 点击【Proxy】–>【SSL Proxying Settings…】

■ 在弹出选项卡中,勾选【Enable SSL Proxying】点击【add】

■ 在Host输入【*】表示接收任何主机,在Port输入【443】,点击保存
在这里插入图片描述

手机端设置
1、配置代理
■ 打开手机的设置页面,选择【无线局域网】,点击连接的WIFI后面的感叹号(以IOS为例)
■ 点击【配置代理】–>【手动】,输入本机IP地址以及端口号,点击存储

2、手机端https证书安装
■ Help --> SSL Proxying --> Install Charles Root CertificateInstall Charles Root Certificate On a Mobile Device or Remote Browser
■ 手机浏览器访问chls.pro/ssl,此时电脑上Charles会出现弹窗,需要点击“Allow”,下载证书到手机
在这里插入图片描述在这里插入图片描述

3、Charles界面
Charles 主要提供两种查看抓包的视图,分别名为 Structure 和 Sequence。
Structure:将网络请求按访问的域名分类。
Sequence:将网络请求按访问的时间排序。

可以根据不同的需要在这两种视图之前来回切换。请求多了有些时候会看不过来,可以通过一个简单的Filter功能,输入关键字来快速筛选出 URL 中带指定关键字的网络请求。
在这里插入图片描述

4、Proxy菜单介绍
Start/Stop Recording:开始/停止记录会话。
Start/Stop Throttling:开始/停止节流。
Enable/Disable Breakpoints:开启/关闭断点模式。
Recording Settings:记录会话设置。
Throttle Settings:节流设置。
Breakpoint Settings:断点设置。
Reverse Proxies Settings:反向代理设置。
Port Forwarding Settings:端口转发。
Windows Proxy:记录计算机上的所有请求。
Proxy Settings:代理设置。
SSL Proxying Settings:SSL 代理设置。
Access Control Settings:访问控制设置。
External Proxy Settings:外部代理设置。
Web Interface Settings:Web 界面设置。
在这里插入图片描述

5、记录会话
Recording Settings
Recording Settings和 Start/Stop Recording 配合使用,在 Start Recording 的状态下,可以通过 Recording Settings 配置 Charles 的会话记录行为。
在这里插入图片描述
Options:通过 Recording Size Limits 限制记录数据的大小。当Charles 记录时,请求、响应头和响应体存储在内存中,或写入磁盘上的临时文件。当内存中的数据量可能会变得太多,Charles 会发出通知并停止录制。这时需要清除 Charles 会话以释放内存,然后再次开始录制。在录制设置中,可以限制Charles 将记录的大小。
Include:只有与配置的地址匹配的请求才会被录制。
Exclude:只有与配置的地址匹配的请求将不会被录制。
Include 和 Exclude 选项卡的操作相同,选择 Add,然后填入需要监控的Procotol、Host 和 Port等信息,这样就达到了过滤的目的。如下图所示:
在这里插入图片描述

6、弱网测试
Throttle Settings
勾选【Enable Throttling】,也可以勾选【only for selected host 】 设置一个指定注解访问进行网络限制,不影响其他软件。
在【Throttle preset】选择常见预设的网络情况,也可以在【Bandwidth】自己设置网络的上传和下载速率。
在这里插入图片描述
7、修改请求数据
1、选择一条请求,右键勾选【Breakpoints】这是我们会发现工具栏有个六边形按钮已经变为红色
2、设置断点,点击菜单栏【proxy】勾选【Breakoint Setting …】这是会弹出断点设置弹窗;
3、在弹出的断点设置弹窗,双击想打断点的接口,进行断点编辑;
4、编辑断点,如果修改Request数据,勾选Request,如果修改Response数据,勾选Response,也可以同时勾选;
5、这样就达到了设置断点的目的,然后可以来观察或者修改请求或者返回的内容,但是在这过程中需要注意请求的超时时间问题。
在这里插入图片描述

8、本地文件代理
有时在测试时,需要将某个请求代理到本地文件。
首先选择需要代理的URL,右键选中【Map Local Setting】,在弹窗中Map To中点击choose,选择需要代理的本地文件所在路径,点击OK就可以了。
在这里插入图片描述

9、简单的压力测试
如果要测试某一个接口的性能,也可以通过Charles工具。
选择需要测试URL,右键选择【Repeat Advanced】,在弹出框中,输入并发线程数以及压力次数点击进行测试。
在这里插入图片描述

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。