charles用法


代理设置

image.png
image.png

3.2 Charles访问控制

image.png
image.png

4. 客户端设置

4.1 Windows代理设置

image.png

http://ihrm-test.itheima.net/

4.2 Android手机代理设置(见3.1)

三、实战

3.1 抓取移动设备发送的Http请求

先将移动设备连接到Charles客户端。首先在电脑中输入cmd打开命令行窗口,输入ipconfig查看本机连接无线网络的IP地址,这个地址作为移动设备连接Charles客户端的代理地址

image.png

打开Charles客户端,点击Proxy->Proxy Settings菜单,可以设置移动设备连接到Charles的端口(8888),这样移动设备代理配置需要的ip地址和端口号都有了。

image.png

打开手机wifi,设置所连接的wifi的代理网络;wifi代理设置为手动,代理的服务器ip填写上一步骤中查看到的电脑ip,端口填写上一步骤提到的charles的服务端口:

image.png
image.png

注意:

①移动设备配置之后,第一次通过手机访问手机中的发送请求时,Charles会弹出提示框,提示有设备尝试连接到Charles,是否允许,如果不允许的话,手机发送请求失败,点击Allow允许,这样这个设备的IP地址就会添加到允许列表中,如果错误点击了Deny可以重启Charles会再此提示,或者通过Proxy->Access Control Settings手动添加地址,如果不想每个设备连接Charles都要点击允许的话,可以添加0.0.0.0/0允许所有设备连接到Charles。

②手机与电脑必须连接同一个WiFi

③不要勾选Proxy → SSL Proxying setting 中的Enable SSL Proxying

④Charles是通过将自己设置成代理服务器来完成抓包的,勾选系统代理后,本地系统(如果通过浏览器发送请求)发送出去的请求都能被截取下来。因此,如果想只抓取手机APP发送的请求的话,可以不勾选WindowsProxy选项,这样在测试时就不会被本机Http请求所干扰。

image.png

⑤如果想要抓取浏览器发送的请求包,勾选WindowsProxy选项之后还是抓取失败,可能是浏览器没有设置成使用系统的代理服务器,只要设置成使用系统的代理服务器,或者将浏览器的代理服务器设置成127.0.0.1:8888也可以成功。

启动手机,打开软件,就可以进行联网抓包测试

Charles提供两种查看封包的页签,一个是Structure(结构),另一个是Sequence(序列),Structure用来将访问请求按访问的域名分类,Sequence用来将请求按访问的时间排序。任何程序都可以在Charles中的Structure窗口中看到访问的域名。

image.png

Chales HTTPS代理配置

证书安装之后发现还是乱码和unknown,需要配置代理

image.png
image.png

过滤不必要的网络包

在抓取手机发送的请求时,有许多请求包是对图片等不需要关注的资源的请求,我们只想对指定目录服务器上发送的请求进行抓取,这时候就可以通过过滤网络包的方式实现。有两种实现方式:

1)选择Proxy->Recording Settings菜单,然后在include栏添加需要抓取包的指定服务器请求协议、地址、端口号,也可以在exclude栏添加不抓取包的地址。

image.png
image.png

include:能抓取到的

exclude:不能抓取到的

2)在主界面的中部的 Filter 栏中填入需要过滤出来的关键字。例如我们的服务器的地址是:http://blog.csdn.net, 那么只需要在 Filter 栏中填入 csdn 即可。

注意:通常情况下,我们使用方法一做一些临时性的封包过滤,使用方法二做一些经常性的封包过滤。

断点替换/修改数据

断点的作用:用来构建异常的测试场景

右击接口链接,选择“BreakPoints”

image.png

在浏览器刷新对应接口的页面

此时会自动跳转到Charles并显示出接口请求信息

点击“Edit Request”,修改请求信息,点击“Execute”

image.png

点击“Edit Response”

在数据格式兰中选择合适的显示格式,比如“json”

修改对应的数据,点击“Execute”

回到浏览器查看数据应该为修改之后的response的信息

方式二:

Proxy → Breakpoint settings...中手动新建/启用某个断点;

要求勾选enable breakpoints之后当下次再有该请求时,会自动进入断点模式

image.png
image.png

新建断点

模拟慢网速

为什么要做模拟慢网速

不是所有的地方网络都好,所以要模拟慢网速。主要用在App端,因为PC一般都是宽带联网,而App哪里都有可能去。比如,测试上厕所

image.png

4. 压测服务器

依次点击tools—Repeat Advanced

选择好并发线程数和打压次数,点击ok就能进行对产品的GET和POST请求进行测试服务器并发处理的性能,当然这里只是简单的进行压测,并且只能对Charles抓到的http协议的请求进行重复并发,缺点就是如TCP类的抓不到的就不能了,算是个小小的缺陷吧。

5 . 模拟404

1、tools——>blacklist

2、 允许启用黑名单功能,选择接口返回错误的形式(404 或者403),添加接口地址并保存

【blocking connection】 选项可以选择“drop connection”或者 “403 respose”.前者接口会直接返回404错误,后者接口返回403错误

3、 选中需要返回404/403的接口,点击【ok】

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Map Local: 将指定的网络请求重定向到本地文件。 之所以首推这个功能,是因为我们可以随心所欲的让指定接...
    xiaofu666阅读 3,989评论 0 0
  • 1.抓取http和https网络封包(抓包) 2.Charles断点请求 设置断点流程: 1.右键点击...
    初学者菜鸟阅读 3,251评论 0 0
  • 安装与功能简介 1.常用抓包软件charles、wirecshark、Fiddler(wireshark信息最完整...
    Alias_3b6d阅读 1,774评论 0 0
  • 抓包工具Charles基本用法-转自微尘_yule 前沿: 发现了一款有趣的app,发现是https,导致不能看到...
    移动端技术阅读 9,801评论 1 6
  • 1、先将移动设备连接到Charles客户端。首先在电脑中输入cmd打开命令行窗口,输入ipconfig查看本机连接...
    胡子哥哥阅读 5,045评论 0 0