史上最强 Charles 抓包

内容清单

  • Charles 的简介
  • 安装 Charles
  • Charles 初始化设置
  • 过滤网络请求
  • 截取HTTP/HTTPS数据
  • 模拟弱网环境
  • 修改网络请求
  • 修改服务器返回内容
  • 服务器压力测试
  • 反向代理
  • 解决与翻墙软件的冲突

Charles 的简介

Charles 是目前最主流的网络调试工具(Charles、Fiddler、Wireshark...)之一,对于一个开发者来说与网络打交道是日常需求,因此很多时候我们需要调试参数、返回的数据结构、查看网络请求的各种头信息、协议、响应时间等等。所以了解 Charles 并使用它

Charles 通过将自己设置为系统的网络访问代理服务器,这样所有的网络请求都会通过它,从而实现了网路请求的截获和分析。

Chareles 不仅可以分析电脑本机的网络请求(HTTP 和 HTTPS),还可以分析移动端设备的网络请求。

Charles 是收费软件,作者开发出这样一个方便开发者使用的伟大工具,我们鼓励使用正版软件,但是对于一些囊中羞涩或者学生来说,有破解版的更好,别担心,这些我都准备好了,下一个 section 会讲解如何下载安装。

安装 Charles

  • 方式1: Charles 官网地址,根据你的电脑操作系统选择合适的下载方式。此时下载下来的是需要收费的,不差钱的同学当然可以直接购买。购买链接
  • 方式2:按照方式1的方式去官网下载,然后下载相应 JAR包。这里以 MAC 为例,打 Finder,选择应用程序,选中 Charles,右击并选择“显示包内容”,看到 Contents 目录,点击进去选择 Java 文件夹,将下载下来的 JAR包 拖进去替换。至此,完成了 Charles 的破解。

Charles 初始化设置

Charles 的工作原理是将自身设置为系统的代理服务器来捕获所有的网络请求。所以使用 Charles ,我们必须设置 Charles 为系统的代理服务器。

打开 Charles,当第一次启动的时候如果没有购买或者没有破解,会有倒计时,之后会看到软件的主界面,然后会请求你赋予它为系统代理的权限。点击授权会让你输入当前系统用户的密码。当然你也可以忽略或者拒绝该请求,然后等想要抓包的时候将它设置为系统的代理服务器。步骤:**选择菜单中的“Proxy” -> "Mac OS X Proxy"。**如下图:

Charles在MAC的初始化

 

之后你的电脑上的任何网络请求都可以在 Charles 的请求面板中看到

看看 Charles 的主界面

Structure模式查看网络请求

 

Sequence模式查看网络请求

 

  • 图上红色圈1:这里代表所有网络请求的展示方式。分别名为 “Structure” 和 “Sequence”。
    • Structure 将所有的网络请求按照域名划分并展示
    • Sequence 将所有的网络请求按照时间排序并展示
  • 图上红色圈2:一些的网络请求设置比如 HTTPS 以及端口等信息都在这个菜单栏设置
  • 图上红色圈3:证书设置都在这里进行

过滤网络请求

由于 Charles 可以将电脑或者设置过的手机的所有网络请求捕获到,而且我们分析网络传输应该是针对某个特定的网络下的抓包分析,为了清楚明显地看到我

在使用Charles抓包查看时延时,你可以通过以下步骤进行操作: 1. 打开Charles,并确保已经安装了Charles的根证书。你可以在菜单栏中选择"Help",然后选择"SSL Proxying",再选择"Install Charles Root Certificate"来安装证书。 2. 配置Charles的视图模式。在Structure视图模式下,请求会按照域名进行分类,而在Sequence视图模式下,请求会按照发生的顺序展示。如果你不习惯Sequence视图的默认上下布局,你可以修改为类似Fiddler的左右布局。你可以使用快捷键"cmd+,-"来打开Charles的首选项,然后选择"Viewers",在"Sequence view layout"中选择"Tall"即可。 3. 在抓包过程中,你可以查看请求的时延信息。时延是指从发送请求到接收到响应所经过的时间。你可以在Charles的请求列表中找到每个请求的时延信息。时延信息通常以毫秒为单位显示,可以帮助你分析请求的响应速度。 需要注意的是,在Android 7.0及以上的系统中,默认不信任用户添加到系统的CA证书。这意味着,如果你的APP基于SDK24及以上版本,即使你在手机上安装了Charles,也无法抓取HTTPS请求,这些请求会显示为"unknown"。如果你遇到了这个问题,你可以尝试其他方法来抓取HTTPS请求的时延信息。 希望以上信息对你有帮助!\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [接口测试工具-charles抓包笔记](https://blog.youkuaiyun.com/sumdeveloper/article/details/107495495)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [charles抓包常用](https://blog.youkuaiyun.com/kenan_6/article/details/122853975)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [史上最强Charles教程](https://blog.youkuaiyun.com/Amio_/article/details/114360192)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值