最近系统地重温了下Charles的各种功能,根据小破站上百里老师的讲解,做了一些笔记,对于Charles入门小白,多少会有点帮助, 下面就把分享给大家~
一、Charles介绍
1、Charles简介
是基于http和https的代理服务器。
2、官网地址
Download a Free Trial of Charles • Charles Web Debugging Proxy
3、特点
半免费(启动需要10s,每运行半小时就会强制关闭)
4、优点
1)跨平台的抓包工具:Windows、Mac
2)支持按域名和按接口两种方式查看报文
3)弱网测试非常友好,直接选择网络类型
二、Charles抓包工具原理以及代理端口设置
1、设置代理
在Proxy下,勾选Windows Proxy即可
2、代理端口
选择菜单栏的Proxy--Proxy Settings,即可设置端口,如果端口被占用,可设置为其他端口
三、Charles整体界面介绍
1、视图 “Structure” 和 “Sequence”
Charles提供两种查看的视图,分别名为 “Structure” 和 “Sequence”。
Structure 视图将网络请求按访问的域名分类。
Sequence 视图将网络请求按访问的时间排序。
2、快捷工具
3、请求和响应区域
4、过滤器
1)Filter
在左下方有一个Filter过滤器,可以对域名进行过滤。
2)Include
还可以在菜单栏的Proxy--Recording Settings--Include中,设置需要抓包的域名,例如我们需要对百度这个域名抓包,直接添加一个Location:www.baidu.com即可,注意选择http和https协议。
5、访问控制
Charles的访问控制,也就是否允许远程客户端连接访问此代理,即控制哪些IP允许访问Charles,默认本机都是允许的。
Charles 路径:Proxy > Access Control Settings 。
IP Range 列表就是允许访问的客户端的IP地址。
Prompt to allow unauthorized connections :勾选上,当未授权或者未允许的客户端进行连接访问时,提示是否允许该客户端访问。
四、Charles抓取HTTPS协议报文
1、安装证书
Charles 路径:Help > SSL Proxy > install Charles Root Certificate 。
2、设置HTTPS代理配置
点击【Proxy】–>【SSL Proxying Settings…】,在弹出选项卡中,勾选【Enable SSL Proxying】点击【add】,在Host输入【*】表示接收任何主机,在Prot输入【443】最后点击【ok】保存
五、Charles抓取APP协议报文
1、保持手机和电脑在同一网段,同一无线,热点
2、设置手机代理
点击已连接的无线网络,配置代理,选择手动,配置服务器和端口信息,服务器:即电脑的本机IP,端口:在Charles的Proxy--Proxy Setting的Port查看
3、下载并设置手机的根证书
手机浏览器输入chls.pro/ssl,选择下载,下载完成后安装证书
之后打开需要抓包的应用,charles就能看到抓取的接口了,并且接口响应不会显示unknown
六、Charles打断点
Charles Breakpoints 功能就比较适合做一些临时性的修改,比如编辑request参数、重定向request请求资源、编辑response数据。
比如我们在测试过程中,想要让服务器返回一些特定的内容,方便测试,有两种方法:第一种就是绞尽脑汁请求接口制造一些特定的数据,第二种就是简简单单,靠Charles打断点就可以实现。
打断点的步骤如下:
1、先用Charles抓包
2、选中需要打断点的接口,右键勾选Breakpoints
3、在Proxy里面配置断言的设置
在菜单栏中选择Proxy--Breakpoint Settings
可以看到已经默认设置了,我们可以修改,对Request还是Reponse进行打断点
可双击进行修改
4、在被测系统进行请求
在被测系统点击页面,发送请求
5、在Charles修改请求和响应
进入Edit Request,可修改请求,点击Execute,执行请求
进入Edit Response,可修改响应信息,点击Execute,执行请求
就可以查看接口响应信息了。
6、关闭断点
在菜单栏中选择Proxy--Breakpoint Settings,取消勾选Enable Breakpoints即可。
七、Charles编辑请求
测试过程中,有时候需要反复尝试修改不用的请求参数,进行接口请求,我们就可以利用Charles的Compose功能来满足。
1、正常抓包
2、选中接口,鼠标右键Compose
3、修改请求参数
在前面是钢笔图标的接口前面,修改请求参数后,点击Execute后,就可以查看接口响应信息了。
八、弱网测试
1、配置参数入口
在菜单栏的Proxy--Throttle Settings,进行设置
2、配置节点参数
1)全局域名限速
勾选Enable Throttling,就是全局节流
2)只针对个别的域名进行限速
3、配置默认限速参数
4、配置自定义限速参数
今天的分享就到这里,下期见~