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

article/2025/10/31 5:09:45

在这里插入图片描述

一、为什么使用charles

前几天因为需要通过抓包定位问题,打开了尘封已久的fiddler,结果打开软件后什么也干不了,别说手机抓包了,打开软件什么请求也抓不到。很多时候都是如此,如果一个方案不行,肯定要有替代方案的。于是,想到了charles来进行抓包,也就是换一个工具完成了想做的事。

二、下载地址

https://www.charlesproxy.com/

图片

三、web抓包

Charles Web抓包非常简单,启动Charles会自动与浏览器设置成代理,不需要进行过多的设置。

接下来我就就是通过浏览器发送网络请求,Charles就会直接抓取到这些信息和响应信息。

图片

1、抓取HTTPS协议

对于抓取https协议的包,和fiddler是一样的,要进行对应的配置设置。

2、Charles下配置

1、点击顶部菜单栏【Help】–>选择【SSL Proxying】,点击【install Charles Root Certificate 】安装Charles根证书即可;

这里由于用的笔记本截图快捷键问题,没发截取,这里截取证书安装,证书安装一直下一步就可以。
在这里插入图片描述

图片

2、点击【Proxy】–>【SSL Proxying Settings…】

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

在Host输入【】表示接收任何主机,在Prot输入【443】最后点击【ok】保存***

图片

图片

四、App抓包

1、电脑端配置:

1,启动安装好的Charles抓包工具;

2,点击【Help】–>【local IP Address】获取下ip地址,也可以直接通过电脑自带的CMD命令来获取电脑IP【ipconfig】

图片

3、点击【Proxy】–>【Proxy Settings】我们在设置下端口号,默认即可,具体视自己电脑环境设置

图片

2、手机端设置:

打开手机的设置页面;

选择【无线局域网】;

IOS点击连接的WIFI后面的感叹号,安卓应该是长按连接的WIFI;(注:这里主要以IOS为例)

点击【配置代理】–>【手动】;

输入本机【IP地址(192.168.1.75)】以及端口号【9999】,这是我本机的,根据自己情况合理配置;

点击【存储】
图片

图片

图片

图片

接下里验证下手机请求,当我们看到Charles里能抓到这个连接,就说明配置没问题,看到unknown,这个不要紧,那是我们没有安装针对手机端的证书,下面继续我们手机端HTTPS证书安装

图片

3、抓取手机HTTPS协议

通过上面的设置,虽然来自我们手机端的Http协议请求可以抓取到,但是HTTPS协议的包是不能抓取的,需要安装配置证书才可以,现在手机上大多数都已经切到https很少由http协议的了

4、Charles配置:

1、点击顶部菜单栏【Help】–>选择【SSL Proxying】,点击【install Charles Root Certificate】安装Charles根证书即可;

2、点击安装【Install Charles Root Certificate On a Mobile Device or Remote Browser】在移动设备上或远程浏览器安装证书即可;(这里和上面安装一样)

图片

图片

图片

五、Charles过滤

通常情况下,我们需要对网络请求进行过滤,只监控向指定目录服务器上发送的请求。对于这种需求,以下几种办法:

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

方法二:在 Charles 的菜单栏选择 “Proxy”->”Recording Settings”,然后选择 Include 栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号。这样就可以只截取目标网站的封包了。如下图所示:图片
在这里插入图片描述

六、弱网测试

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、在弹出框中,输入并发线程数以及压力次数点击进行测试

在这里插入图片描述

最后: 可以关注公众号:伤心的辣条 ! 进去有许多资料共享!资料都是面试时面试官必问的知识点,也包括了很多测试行业常见知识,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!


好文推荐

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

什么样的人适合从事软件测试工作?

那个准点下班的人,比我先升职了…

测试岗反复跳槽,跳着跳着就跳没了…


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

相关文章

手把手教你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…

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

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

三五族化合物半导体的杂质能级

一些重要的实验结果 1. 二族元素掺入三五族半导体中,通常取代三族元素,而位于其格点位置上,因为比三族元素少一个价电子,而倾向于接收一个价电子,而起受主的作用,引入浅受主能级 2. 六族元素掺入三五族半…

5、杂质半导体

杂质半导体 杂质半导体主要靠多数载流子导电,掺入的杂质越多,多子的浓度越高,导电性越强,实现导电性能可控。 N型半导体(电子为多数载流子,N型 因为多数载流子带负电(negative)&am…

杂质半导体

通过扩散工艺,在本征半导体中掺入少量合适的杂质元素,便可得到杂质半导体。按掺入的杂质元素不同,可形成N型半导体和P型半导体;控制掺入杂质元素的浓度,就可控制杂质半导体的导电性能。 一,N型半导体 在纯…

为什么在制作N型半导体时掺杂五价原子?而不是掺杂六价原子甚至七价原子,不是自由电子更多吗?

作者:流落的橙子星人 链接:https://www.zhihu.com/question/370990032/answer/1012032939 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 所谓N型半导体,其实就是电子型半导体&a…

半导体、本征半导体和杂质半导体

在电子电路中最常用的半导体器件就是:半导体二极管和三极管,他们是由本征半导体构成的。 导体最外层电子在外电场作用下很容易产生定向移动,形成电流。 绝缘体最外层电子受原子核束缚力很强,只有在外电场强到一定程度时才能导电…

两种杂质半导体

目录 1. P型半导体2. N型半导体 1. P型半导体 内部结构 由于P的最外层电子缺少1个电子,即形成一个空穴。邻近原子的电子填补这个空穴,就会留下新的空穴 空穴为多子,自由电子为少子 注意:整个半导体还是呈电中性的。 2. N型半导体…

半导体器件(一) 学习笔记

目录 一、半导体基础知识 1.1、概念 1.2、本征半导体 1.2.1、本征半导体的晶体结构 1.2.2、共价键结构平面示意图 1.2.3、本征半导体中的两种载流子 1.2.4、温度逐渐升高(热激发) 1.2.5、空穴位的导电作用 1.2.6、结论 1.3、杂质半导体 1.2.1、N型半导体&#xff08…

半导体物理学习笔记(一)

半导体物理学习笔记(一) 什么是半导体晶体的概念化学键和晶体结构原子的负电性离子键和离子晶体共价键与共价晶体金刚石结构金属键和金属晶体混合键和混合键型晶体 小结 什么是半导体 按照导电能力区分 表示导电能力的物理量:电阻率&#xff…

半导体基础知识及其特征

半导体基础知识及其特征 一、半导体特征 1.什么是半导体 半导体是导电能力介于绝缘体和导体之间的材料 2. 半导体的特性 掺杂特性:掺入杂质则导电率增加几百倍,如:半导体元件温度特性:温度升高会使导电率大为增加,…

什么是半导体,半导体包括哪些

什么是半导体? 半导体是通常由硅组成的材料产品,其导电性比玻璃之类的绝缘体高,但比铜或铝之类的纯导体导电性低。可以通过引入杂质(称为掺杂)来改变其导电性和其他性能,以满足其所驻留的电子组件的特定需…