问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Charles抓包工具使用指南:从入门到实战

创作时间:
作者:
@小白创作中心

Charles抓包工具使用指南:从入门到实战

引用
CSDN
1.
https://m.blog.csdn.net/weixin_56331124/article/details/144911651

Charles是一款功能强大的网络抓包和测试工具,广泛应用于Web和移动应用的开发和测试中。本文将详细介绍Charles的各项实用功能,包括Web抓包、App抓包、过滤设置、弱网测试、数据篡改、重复发送请求以及服务器压力测试等,帮助读者全面掌握Charles的使用方法。

一、为什么使用Charles

在进行网络调试时,如果常用的Fiddler工具出现故障(如无法抓取任何请求),Charles可以作为有效的替代方案。Charles能够帮助开发者和测试人员定位和解决网络相关的问题。

二、下载地址

Charles官网下载地址

三、Web抓包

Charles的Web抓包功能非常简单。启动软件后,它会自动将浏览器设置为代理模式,无需额外配置即可开始抓包。

对于HTTPS协议的抓包,需要进行以下配置:

  1. 点击顶部菜单栏【Help】->选择【SSL Proxying】,点击【install Charles Root Certificate 】安装Charles根证书。
  2. 点击【Proxy】->【SSL Proxying Settings…】
  3. 在弹出的选项卡中,勾选【Enable SSL Proxying】并点击【add】。
  4. 在Host输入【*】表示接收任何主机,在Port输入【443】,最后点击【ok】保存。

四、App抓包

1. 电脑端配置

  1. 启动Charles抓包工具。
  2. 点击【Help】->【local IP Address】获取IP地址,也可以通过CMD命令【ipconfig】获取。
  3. 点击【Proxy】->【Proxy Settings】设置端口号,默认即可。


2. 手机端设置

  1. 打开手机的WLAN设置页面。
  2. 选择连接的WiFi,iOS设备点击后面的感叹号,Android设备长按连接的WiFi。
  3. 选择【配置代理】->【手动】。
  4. 输入电脑的IP地址和端口号(默认9999)。
  5. 点击【存储】保存设置。



3. 抓取手机HTTPS协议

为了抓取HTTPS协议的包,需要在Charles中进行证书安装:

  1. 点击顶部菜单栏【Help】->选择【SSL Proxying】,点击【install Charles Root Certificate】安装Charles根证书。
  2. 点击【Install Charles Root Certificate On a Mobile Device or Remote Browser】在移动设备上或远程浏览器安装证书。

五、Charles过滤

为了监控特定服务器的网络请求,可以使用以下两种过滤方法:

方法一:使用Filter栏

在主界面的中部Filter栏中填入需要过滤的关键字。例如,服务器地址是http://ceshi.com,只需在Filter栏中填入"ceshi"。

方法二:使用Recording Settings

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

六、弱网测试

Charles支持模拟不同网络环境,具体步骤如下:

  1. 点击【Proxy】->【Throttle Setting】。
  2. 勾选【Enable Throttle】,可以选择只对特定主机进行网络限制。
  3. 在【Throttle preset】选择预设的网络情况,或在【Bandwidth】自定义上传和下载速率。

七、打断点篡改数据

在测试场景中,可能需要修改请求参数或返回参数。具体步骤如下:

  1. 选择请求会话右键勾选【Breakpoints】,工具栏的六边形按钮会变为红色。
  2. 点击菜单栏【proxy】勾选【Breakoint Setting …】弹出断点设置窗口。
  3. 双击想打断点的接口进行编辑。
  4. 根据需要勾选Request或Response进行数据修改。

八、重复发送请求

在测试过程中,可能需要重复发送特定请求:

  1. 选择需要重新发送的请求会话。
  2. 点击工具栏的【重新按钮】。

九、服务器压力测试

Charles还支持简单的服务器压力测试:

  1. 在需要测试的请求会话上右击,选择【Repeat Advanced】。
  2. 在弹出框中输入并发线程数和压力次数,点击进行测试。
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号