【Charles抓包】

一、Charlesan的安装与下载

  • Charles官网地址:https://www.charlesproxy.com/
  • 安装完成之后,Charles不会默认在桌面上设置快捷方式,可以找到安装目录下的“Charles.exe”文件,右击,选择“创建桌面快捷方式”

什么是抓包

抓包(Packet Capture)是指通过专门的软件工具,捕获和分析计算机网络中传输的数据包的过程。数据在网络上以“帧”或“数据包”的形式传输,每个数据包包含网络通信的各种信息,如源地址、目标地址、协议类型、数据内容等。

抓包的用途

  1. 网络故障排查:帮助分析网络故障的根源,例如DNS解析失败、网络延迟过高、丢包或应用层问题。

  2. 网络安全分析:检测潜在的安全问题,如敏感信息未加密传输(账号、密码明文传输)或网络攻击行为(ARP欺骗、DoS攻击等)。

  3. 网络性能优化:分析网络流量模式,找出性能瓶颈并优化网络配置。

  4. 应用协议开发和测试:捕获和分析应用程序在网络上发送和接收的数据,以检查其行为和兼容性。

  5. 功能测试:查看Web表单中的隐藏字段,这些字段在界面上不可见,但对功能测试很重要。

  6. 接口和性能测试:了解协议内容,模拟用户请求,分析协议特点,以更好地进行接口和性能测试。

  7. 前后端问题排查:确定是数据传递问题还是前端显示问题,帮助解决前后端开发中的争议。

如何使用Charles抓包

安装Charles
  1. 访问Charles的官方网站,下载最新版的Charles安装包。

  2. 对于MAC版,打开安装包后将Charles拖到Application目录下;对于Windows版,打开可执行程序进行安装。

配置Charles
  1. 安装根证书

    • 点击顶部菜单栏【Help】–>选择【SSL Proxying】,点击【install Charles Root Certificate】安装Charles根证书。

  2. 配置SSL代理

    • 点击【Proxy】–>【SSL Proxying Settings…】。

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

    • 在Host输入【*】表示接收任何主机,在Port输入,最后点击【OK】保存。

开始抓包
  1. 启动Charles后,它会自动与浏览器设置成代理,无需过多配置。

  2. 通过浏览器发送网络请求,Charles会直接抓取这些请求和响应信息。

过滤和分析数据
  1. 过滤请求

    • 在主界面的中部的Filter栏中填入需要过滤的关键字,例如服务器地址。

    • 或者在菜单栏选择“Proxy”->“Recording Settings”,在Include栏中添加需要监控的协议、主机地址和端口号。

  2. 分析数据

    • 查看HTTP/HTTPS请求和响应的详细信息,包括请求头、响应头、内容等。

    • 可以修改请求内容,用于测试和调试。

配置移动端抓包
  1. 在Charles的菜单栏上选择“Proxy”->“Proxy Settings”,填入代理端口8888,并勾选“Enable transparent HTTP proxying”。

  2. 获取Charles运行所在电脑的IP地址,通过顶部菜单的“Help”->“Local IP Address”查看。

  3. 在移动设备的无线局域网设置中,将HTTP代理切换成“手动”,填入Charles运行所在的电脑的IP地址和端口号8888。

  4. 打开移动设备上的应用,Charles会弹出请求连接的确认菜单,点击“Allow”即可完成设置。

通过以上步骤,你可以使用Charles进行网络抓包,分析网络请求和响应,帮助解决开发和测试中的问题。

六、弱网测试

Charles配置弱网设置

1、点击【Proxy】–>【Throttle Setting】

2、勾选上【Enable Throttle】,也可以勾选【only for selected host 】 设置一个指定注解访问进行网络限制,不影响其他软件;

3、在【Throttle preset】选择常见预设的网络情况,也可以在【Bandwidth】自己设置网络的上传和下载速率

图片

图片

七、打断点篡改数据


在我们的测试场景中,可能需求修改请求参数或者返回参数进行测试,比如支付方面的接口,涉及用户登陆权限的接口参数 这里就不再举例了;

八、修改请求数据


1、选择请求会话右键勾选【Breakpoints】这是我们会发现工具栏有个六边形按钮已经变为红色

2、设置断点,点击菜单栏【proxy】勾选【Breakoint Setting …】这是会弹出断点设置弹窗;

3、在弹出的断点设置弹窗,双击想打断点的接口,进行断点编辑;

4、编辑断点,如果修改Request数据,九江Request勾选,如果修改Response数据,就将Response勾选,当然你也可以都勾选;

5、在手机上重新进行请求,Charles 会自动进行拦截并跳转到请求数据修改页面;

这时,服务端给我们返回的数据就是有关jmeter的数据了

九、重复发送请求


在我们的测试工作中,可能你会发先一个bug,开发会让你在操作一遍,他要查看日志经i选哪个定位分析,这时候,在客户端上进行操作一遍就会麻烦,这是直接用Charles 发送一遍重复的请求就可以了,并且,重新发送请求也可以帮助我们进行功能测试;

选择需要重新发送请求的会话上,直接点击工具栏【重新按钮】

Compose编辑接口

在我们的测试工作中,可能需要发送不同的参数进行请求。选择需要修改的请求,右键选择【Compose】这时多出一个笔的请求;

十、服务器压力测试


Charles 还有一个比较有意思的功能,它能勾简单的给服务器进行压力测试;

1、在进行压力测试的请求会话上右击,选择【Repeat Advanced】

2、在弹出框中,输入并发线程数以及压力次数点击进行测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值