抓包工具-Charles

article/2025/10/30 15:37:50

目录

1.环境搭建

2.Charles的界面&功能介绍

2.1提供两种封包视图:Structure和Sequence

2.2模拟网速

2.3重复发送请求

2.4修改服务器返回内容

2.4.1断点功能Breakpoints

2.4.2重写功能Rewrite

 2.4.3重定向MAP(后面在介绍)

2.5修改请求

2.6其他请求太多干扰数据太乱

3.常见的问题

3.1为什么30分钟就会关闭一次

3.2请求一次,为什么会显示两个接口?

3.3不想看到某个地址/看不到某个地址的数据

3.4有的请求看到的请求和返回数据是乱码


1.环境搭建

a.安装Charles,官网地址:https://www.charlesproxy.com/

b.首先检查电脑是否有java环境,Charles的运行需要java环境才可以

2.Charles的界面&功能介绍

2.1提供两种封包视图:Structure和Sequence

Structure:将网络按照访问的域名分类

Sequence:将网络请求按访问的时间排序

2.2模拟网速

可以用在APP测试上,检测弱网对APP的使用情况影响

Proxy-->Throttling Setting

部分设置含义,Bandwidth(带宽)、Utilistation(利用百分比)、Round-trip(往返延迟)、MTU(字节)

2.3重复发送请求

选中想要重复发送的请求,右击选择repeat,就会重新发送一次请求,如果想要自己定义请求次数和间隔,则选择Repeat Advanced

2.4修改服务器返回内容

2.4.1断点功能Breakpoints

操作如下:

a.我们可以通过采用断点,来篡改请求的数据或返回的数据。

b.设置完断点之后,如果下次访问这个接口,这个接口就会被拦截,并在Charles跳出断点的页面,会弹出两个一样的,第一个点Execute,此时选择Edit Request--->选择form模式查看--->修改发送的请求内容(注意要尽快修改,不要停留过久,不然会超时的情况)--->修改完成后点击执行Execute,此时就完成了数据篡改

c.设置完断点,并进行验证后,记得把断点关掉,否则以后每次遇到这个请求都会卡住

【实操】

篡改前端数据(试用场景:可以用于一个查询框,要输入多种内容,此时只需要设置断点拦截并修改参数即可)--以项目合作单列表为演示

首先对需要请求的数据进行打断点

设置完之后,进行断点设置,勾选request则为前端请求数据,取消response的选择,将query删除

 此时在项目输入达人搜索为“1”,点击搜索,这时候Charles会拦截该页面,并且你可以对其进行修改,我这边修改成“哈哈”之后,点击excute。此时前端传的数据就被篡改了,而后端返回的则是匹配“哈哈”的内容,而不是“1”的内容

断点修改请求内容
项目界面显示

篡改后端数据--以项目首页数据为例(常用场景:数据的长度、用户昵称的长度验证前端显示是否正常

首先也是设置断点,设置完后进行断点的设置,勾选response则为前端请求数据,取消request的选择

 原先这个数据为5 ,通过断点,将数据篡改成超大,看下前端显示是否正常(这时候你就会发现UI有些不正常了)

断点修改后端数据
修改后数据页面显示
项目界面显示

2.4.2重写功能Rewrite

a.选中需要修改的请求,点击tools-->Rewrite,在弹出的页面进行以下操作 

 

 b.此时进入你修改的APP/web页面,可以看到这个昵称已经都被修改成新的昵称

c.最后,如果需要撤回重写,则取消勾选

 2.4.3重定向MAP(后面在介绍补充)

2.5修改请求

通过修改请求的参数,达到查看后端返回数据的效果。选中某条请求,右键,点击编辑图标,然后修改参数,下图为修改项目员工管理页面获取员工部门的参数,点击Execute,查看返回的信息

Charles页面操作

2.6其他请求太多干扰数据太乱

可以右击选中自己关注的host,选择focus,这样子其他地址的请求都会显示在other hosts了

3.常见的问题

3.1为什么30分钟就会关闭一次

Charles是收费软件,可以免费试用30天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过30分钟,并且启动时将会有10秒种的延时。可以去找找资源噢

3.2请求一次,为什么会显示两个接口?

实际第一条是option,不会返回任何数据,也就是response body 里面没有内容,调第二次相同的接口会有response body 里会显示实际请求的数据(就是:在发生正式的请求之前,先进行一次预检请求。看服务端返回一些信息,浏览器拿到之后,看后台是否允许进行访问),具体可以参照文章:为何抓到的包有2条重复的请求?(一条OPTIONS,一条GET/POST/其他)_我不想成秃头的博客-CSDN博客。下图为两次请求的区别

 

3.3不想看到某个地址/看不到某个地址的数据

右键某条地址,选择ignore,就忽略掉了该链接所有的数据,在右键则取消ignore。

如果找不到该链接了,在Proxy-Recording Setting中找到Exclude,选中被忽略的地址,点击Remove就可以了

3.4有的请求看到返回数据是乱码

检查是否SSL请求被关掉了,右键--->SSL Proxying:Enabled/Disabled,置灰栏Enabled状态代表开启,Disabled代表关闭。


http://chatgpt.dhexx.cn/article/U9Dvts9j.shtml

相关文章

Charles抓包微信小程序数据

本文中使用的是mac上的抓包工具charles进行抓包,手机是apple11。 Charles 上的设置: 要截取 iPhone 上的网络请求,我们首先需要将 Charles 的代理功能打开。 在 Charles 的菜单栏上选择 Proxy – Proxy Settings 点击进入如下界面 填入代…

【测试】Charles抓包

一、Charles 简介 Charles 是一款抓包软件,更专业,可以抓取电脑上所有软件发的包。 抓包原理:charles 自动创建了一个代理,发送数据都要经过代理,同时把所有 路过的数据全部展示出来。 Charles激活码计算器&#xff1…

如何使用Charles抓包,手机、电脑web端。Charles抓包看这一篇就够了

直接分步骤来讲了。 下载Charles: Charles下载地址 对软件进行常规操作: 一个好用的工具地址 打开网址之后,输入一个名称,然后点击“生成”即可。生成之后如下图: 安装软件就不多说了。装完之后打开,点击H…

抓包工具 之 Charles 的使用

目录 一、下载Charles 二、绿化Charles 1. 打开绿化网址 2. 生成注册码 3. 打开Charles 三、功能说明 四、代理设置 1. proxies 2. options 3. macOS 五、安装信任证书 1. 安装证书 2. 在钥匙串中找到证书 3. 双击设置信任 六、电脑接口代理开启 1. 开启 2. 问…

Charles 抓包工具教程(二) Charles 抓包HTTPS请求

本文为在霍格沃兹测试开发学社中学习到的一些技术,写出来分享给大家,希望有志同道合的小伙伴可以一起交流技术,一起进步~ Charles 抓包HTTPS请求 一、MacOS 安装 Chares 证书二、Charles 设置 HTTPS 代理三、客户端(安卓手机)安装 Charles 证…

Charles抓包工具实战教程(完结)

Charles抓包工具测试实战教程 文章目录 Charles抓包工具测试实战教程学习准备目标文章介绍Charles介绍Charles是什么?Charles工作原理?Charles能做什么?Charles简介 Charles安装和配置Charles组件介绍Charles主导航栏介绍Charles代理配置Charles访问控制windows代理设置mac代…

charles抓包工具使用教程

声明:本文转载自https://www.cnblogs.com/Clairewang/p/Charles.html 一、Charles官网下载链接:https://www.charlesproxy.com/download/ 二、抓包步骤: 1、安装Charles,并打开 2、电脑设置代理端口:打开charles->…

手把手教你如何使用Charles抓包

目录 一、为什么使用charles 二、下载地址 三、web抓包 四、App抓包 五、Charles过滤 六、弱网测试 七、打断点篡改数据 八、修改请求数据 九、重复发送请求 一、为什么使用charles 前几天因为需要通过抓包定位问题,打开了尘封已久的fiddler,结…

charles抓包(别名:茶壶)

一、Charles简介 Charles 是PC端的一款网络抓包工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完…

【干货】手把手教你如何使用Charles抓包

一、为什么使用charles 前几天因为需要通过抓包定位问题,打开了尘封已久的fiddler,结果打开软件后什么也干不了,别说手机抓包了,打开软件什么请求也抓不到。很多时候都是如此,如果一个方案不行,肯定要有替…

手把手教你Charles抓包工具使用

Charles简介 Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request, response和HTTP…

【数据挖掘】2022年2023届秋招知能科技公司机器学习算法工程师 笔试题

岗位:高级机器学习算法工程师 笔试时间:2022-9-28 1 简答题 1、神经网络中防止过拟合的方法 (1)降低模型复杂度 (2)正则化 ,正则化正是通过在损失函数上添加额外的参数稀疏性惩罚项&#xf…

算法工程师面试:必备的机器学习、深度学习知识点

点击上方“机器学习与生成对抗网络”,关注星标 获取有趣、好玩的前沿干货! 作者 Oldpan 来源 oldpan博客 编辑 极市平台 前言 最近这段时间正临秋招,这篇文章是老潘在那会找工作过程中整理的一些重要知识点,内容比较杂碎&#xf…

算法工程师知识补充 - 机器学习1

书籍及视频:周志华 机器学习 公式推导:github地址 代码讲解:机器学习实战 第1章 绪论 相关术语:数据、算法、模型、预测(测试样本、泛化能力) 模型:有监督学习(分类、回归&…

2018年机器学习算法工程师——秋招自我总结

2018年机器学习算法工程师——秋招自我总结 (2018.3.12 ~ 2018.10.14) (1)简历 - 笔试 - 面试(一面,二面,……,HR面,加面) - offer - 签约 - 入职&#xff0…

【算法工程师】机器学习面试问题总结

哎呀,要秋招了啊~ 不禁感叹:How time flys~ 重新出发~ 后期我发现还是需要把相关文章的链接放上来的,方便大家深入理解记忆,如果你没时间就直接看文字,如果有时间记得把链接点开看看…

机器学习算法工程师面试总结(基于个人简历自用)

机器学习 回归和分类的相同点和不同点? 相同点:都是对输入做预测,属于有监督学习。 不同点:输出不同、目的不同、结果不同。 分类的输出是离散的、是所属类别、是定性的,回归的输出是连续的、是值、是定量的。 分类的目…

机器学习算法工程师面试问题汇总(持续更新)

目录 一、通用基础知识 1.1ReLU与Leaky ReLU 1.2损失函数 1.3怎么去选择损失函数呢? 1.4Focal loss及其优缺点 1.5特征归一化/标准化的意义 1.5Batch Normalization的原理与作用 1.6解决过拟合的方法。 二、特征工程 2.1如何进行特征选择? 三…

如何系统的学习机器学习,算法工程师入门路径

我作为一名五年前从安卓开发,成功转行算法工程师的程序员,认真回顾一下当年的学习心得。在当年研究生阶段,漫长的学习过程中,非常焦虑,并且由于机器学习先验知识较多,不像开发那样能有及时的正反馈&#xf…

如何成为一名合格的算法工程师?我们做了一次技能拆分…

文 / 张相於 成为一名合格的开发工程师不是一件简单的事情,需要掌握从开发到调试到优化等一系列能力,这些能力中的每一项掌握起来都需要足够的努力和经验。而要成为一名合格的机器学习算法工程师(以下简称算法工程师)更是难上加难…