全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

千锋软件测试培训班:Charles抓包工具使用详解(一)

发布时间:2021-09-03 16:10:00
发布人:小千

      软件测试进阶过程中你可能会遇到需要进行接口测试的时候,这个时候你就可能会使用到Charles抓包工具了,今天千锋软件测试培训班就来给大家介绍一下Charles抓包工具的使用详解。

      一、charles简介

      Charles 是一款常用的网络抓包工具,通过将自己设置成系统的网络访问代理服务器,用于调试与服务器端的网络通讯协议,除了常见的http协议的抓包,Charles 还可以分析 Https 协议。

      Charles 是收费软件,可以免费试用 30 天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过 30 分钟,并且启动时将会有 10 秒种的延时。因此,该付费方案对广大用户还是相当友好的,即使你长期不付费,也能使用完整的软件功能。只是当你需要长时间进行封包调试时,会因为 Charles 强制关闭而遇到影响。

      Charles的功能包括但不局限如下:

      截取 Http 和 Https 网络封包。 支持重发网络请求,方便后端调试。 支持修改网络请求参数。 支持网络请求的截获并动态修改。 支持模拟慢速网络。

      二、Charles客户端安装

      该软件是用Java写的,能够在Windows,Mac,Linux上使用。直接点击安装包安装即可。

千锋软件测试培训

      三、charles工作原理

      1、charles抓http协议包

      配置好以后,Charles实际上让电脑成了一个中间代理服务器,我们手机上、浏览器的所有请求都会经过电脑,被Charles拦截,然后Charles把自己伪装成手机向我们的远程服务器地址发送请求,所以Charles能记录我们发送的请求信息;

      而等服务端响应请求时,实际上是响应了Charles的请求,Charles获得服务端的响应以后,又转发给我们的手机,所以Chaerles能获得服务端响应的详细信息。

千锋软件测试培训2

      2、charles抓https协议包

千锋软件测试培训3

      Charles拦截客户端的请求,伪装成客户端向服务器进行请求

      服务器向“客户端”(实际上是Charles)返回服务器的CA证书

      Charles拦截服务器的响应,获取服务器证书公钥,然后自己制作一张证书,将服务器证书替换后发送给客户端。(这一步,Charles拿到了服务器证书的公钥)

      客户端接收到“服务器”(实际上是Charles)的证书后,生成一个对称密钥,用Charles的公钥加密,发送给“服务器”(Charles)

      Charles拦截客户端的响应,用自己的私钥解密对称密钥,然后用服务器证书公钥加密,发送给服务器。(这一步,Charles拿到了对称密钥)

      服务器用自己的私钥解密对称密钥,向“客户端”(Charles)发送响应

      Charles拦截服务器的响应,替换成自己的证书后发送给客户端

      至此,连接建立,Charles拿到了 服务器证书的公钥 和 客户端与服务器协商的对称密钥,之后就可以解密或者修改加密的报文了。

      以上就是这一期的Charles抓包工具介绍了,下一期我们继续介绍Charles抓包工具的基本功能和使用,喜欢的同学记得关注一下。最后如果你对软件测试培训感兴趣的话,欢迎大家来到千锋软件测试培训班参加我们的软件测试培训课程,不仅有两周的免费试听,更有全套学习资料和视频教程可以领取,赶紧去找在线老师了解一下吧。

      千锋软件测试培训班:http://www.mobiletrain.org/page/software/

相关文章

超级APP系统比市场APP系统有哪些亮点呢?

超级APP系统比市场APP系统有哪些亮点呢?

2023-10-14
常用JS前端开发框架有哪些?

常用JS前端开发框架有哪些?

2023-10-14
常见的内存泄漏有哪些情况?

常见的内存泄漏有哪些情况?

2023-10-14
sql清除表中数据,表结构为什么还在?

sql清除表中数据,表结构为什么还在?

2023-10-14

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取