【一小时学会Charles抓包详细教程】Charles 弱网测试与实战篇 (10)

news2025/1/23 17:38:24

🚀 个人主页 极客小俊
✍🏻 作者简介:程序猿、设计师、技术分享
🐋 希望大家多多支持, 我们一起学习和进步!
🏅 欢迎评论 ❤️点赞💬评论 📂收藏 📂加关注

Charles 弱网测试

什么叫弱网测试

弱网测试顾名思义就是我们可以通过Charles这个工具来限制网速从而达到测试的一种目的手段!

弱网测试的作用

Charles中进行弱网测试是非常有用的,主要体现在以下一些方面:

模拟真实网络环境:Charles可以模拟不同的网络环境,包括弱网络环境,以测试应用程序在这些环境下的表现。这对于移动应用尤为重要,因为移动应用通常需要在各种网络条件下运行,包括网络信号不稳定、延迟高、丢包等弱网环境

发现问题并进行优化:通过弱网测试,可以发现应用程序在弱网络环境下可能出现的问题,如页面响应时间延长、页面呈现错误、超时处理不当等等问题!

提升用户体验:弱网测试的目的是保障用户在复杂网络环境下的使用体验。通过优化应用程序在弱网环境下的表现,可以减少用户在使用过程中可能遇到的困扰,提升用户满意度。

如何开启弱网

总的来说,Charles中的弱网测试对于确保移动应用在各种网络条件下的稳定性和可靠性至关重要,有助于提升用户体验和应用程序的整体质量, 那么在Charles当中设置网络限速也是非常简单的

我们打开Charles中的菜单栏,然后选择Proxy-->Throttle Setting 这个选项

然后勾选Enable Throttle这个选项之后,其实就默认开启了网络限速了!

如图

这个时候你访问网页的时候,就会很慢了!

当然你也可以勾选上only for selected host这个选项, 然后点击Add指定哪些网站会被限速,并且不影响其他网站和应用, 如果不勾选,那么对所有的请求都进行限制!

如图

你还可以自定义添加很多!

并且我们还可以在下面的设置中对网络进行详细的修改已达到更加精准的效果!

比如在Throttle preset中我们可以设置网络预设, 这些预设都是一些常见的网络情况

如图

我们也可以在Bandwidth中去设置一个网速的上传下载的速率范围, 单位为kbps

其他更多设置如下表

名称描述
utilisation带宽利用率,利用率是总带宽的百分比,大部分modem是100%
round-trip latency请求往返延迟,单位是ms, 主要测试往返客户端和远程服务器之间第一次往返通信的毫秒延迟!
MTU最大传输单元,即TCP包的大小,可以更真实模拟TCP层,每次传输的数据包情况!
Releability指连接的可靠性,常说的丢包,用于模拟网络不稳定,衡量连接完全失败的可能性,这是一个非常有用的模拟不可靠网络条件的选项!
Stability连接稳定性常说的网络抖动。也会影响带宽可用性。用于模拟移动网络,移动网络连接一般不可靠。
unstable quality range设置网络质量范围,可以用来确定网络不稳定质量范围, 如stability稳定性设置了70%,那不稳定性则可以设置20~30之间。

注意:如果勾选了only for selected host这个选项,那么下面所有设置的参数效果都只会被应用到指定的主机!

同时我们也可以将自己常用的网络调试设置进行预设存储,这样我们就不用每次都重新设置了,方法也很简单!

Throttle Setting对话框中点击Add Preset,添加预设就可以了

如图

然后你在Throttle preset中就可以找到刚刚添加好的预设了

如图

弱网测试实战

一般情况下,在线项目产品的请求响应的总时长应该是要小于2 ~ 3秒,算是正常!

我们可以来查看一个页面在Charles未开启弱网情况下请求响应的总时长

如图

在这里我们可以看到Duration就是请求响应的总时间为1.42s

当我们开启弱网情况下,我们再看看Duration参数的显示

比如我们把Throttle preset这个网络预设设置为56kbps Modem

如图

现在可以看到Duration就是请求响应的总时间为37.89s,很明显网络慢了很多!

当然实际开发和项目运行在不同的网络场景下会出现更多的不可预料的情况,不同的网络环境和网络制式的差异,都会对用户使用我们开发的应用程序造成影响!

所以对于各种网络环境有异常的情况下, 用户可能就会遇到应用程序强制退出,数据丢失等问题! 因此对应用程序的网络测试尤为重要,才能更好的避免这些问题的发生!

"👍点赞" "✍️评论" "收藏❤️"

大家的支持就是我坚持下去的动力!

如果以上内容有任何错误或者不准确的地方,🤗🤗🤗欢迎在下面 👇👇👇 留个言指出、或者你有更好的想法,
欢迎一起交流学习❤️❤️💛💛💚💚

更多 好玩 好用 好看的干货教程可以 点击下方关注❤️ 微信公众号❤️
说不定有意料之外的收获哦..🤗嘿嘿嘿、嘻嘻嘻🤗!
🌽🍓🍎🍍🍉🍇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1789369.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Message forwarding mechanism (消息转发机制)

iOS的消息转发机制 iOS的消息转发机制是在消息发送给对象时,找不到对应的实例方法的情况下启动的。消息转发允许对象在运行时处理无法识别的消息,提供了一种动态的、灵活的消息处理方式。 消息转发机制主要分为三个阶段: 动态方法解析快速…

基于振弦采集仪的土木工程安全监测技术研究

基于振弦采集仪的土木工程安全监测技术研究 随着土木工程的发展,安全监测成为了非常重要的一部分。土木工程的安全监测旨在及早发现结构的变形、位移、振动等异常情况,以便及时采取措施进行修复或加固,从而保障工程的安全运行。振弦采集仪作…

2024第26届大湾区国际电机博览会暨发展论坛

2024第二十六届大湾区国际电机博览会 暨发展论坛 2024第26届大湾区国际电机博览会暨发展论坛 The 26th Greater Bay Area International Motor Expo and Development Forum 时间:2024年12月4-6日 地址:深圳国际会展中心(宝安新馆&#x…

【Vue】普通组件的注册使用-全局注册

文章目录 一、使用步骤二、练习 一、使用步骤 步骤 创建.vue组件&#xff08;三个组成部分&#xff09;main.js中进行全局注册 使用方式 当成HTML标签直接使用 <组件名></组件名> 注意 组件名规范 —> 大驼峰命名法&#xff0c; 如 HmHeader 技巧&#xf…

zdppy_api 中间件请求原理详解

单个中间件的逻辑 整体执行流程&#xff1a; 1、客户端发起请求2、中间件拦截请求&#xff0c;在请求开始之前执行业务逻辑3、API服务接收到中间件处理之后的请求&#xff0c;和数据库交互&#xff0c;请求数据4、数据库返回数据5、API处理数据库的数据&#xff0c;然后给客户…

【线性代数】SVDPCA

用最直观的方式告诉你&#xff1a;什么是主成分分析PCA_哔哩哔哩_bilibili 奇异值分解singular value decomposition&#xff0c;SVD principal component analysis,PCA 降维操作 pca就是降维后使得信息损失最小 投影在坐标轴上的点越分散&#xff0c;信息保留越多 pca的实现…

Springboot二屯村钓鱼场管理系统的设计-计算机毕业设计源码58167

摘 要 在互联网时代的来临&#xff0c;电子商务的骤起&#xff0c;一时间网络进行购物这一形式备受欢迎&#xff0c;到现在&#xff0c;网购更是普及。现如今各个行业也通过网购的方式来进行拓展业务&#xff0c;增加企业的知名度以及提升业绩&#xff0c;满足了用户像网购一样…

懒人开发者的福音,轻松开发应用无需搭建服务!

近日&#xff0c;一款轰动开发圈的神器正以“太硬核了&#xff01;疯传开发圈&#xff01;”的口碑迅速走红&#xff0c;那就是Memfire Cloud&#xff01;这款一站式开发应用&#xff0c;不仅让懒人开发者尽享便利&#xff0c;更为开发者们带来了前所未有的开发体验。 对于懒人…

windows操作系统提权之服务提权实战rottenpotato

RottenPotato&#xff1a; 将服务帐户本地提权至SYSTEM load incognito list_tokens –u upload /home/kali/Desktop rottenpotato.exe . execute -Hc -f rottenpotato.exe impersonate_token "NT AUTHORITY\SYSTEM" load incognito 这条命令用于加载 Metasploi…

【安装笔记-20240529-Windows-Wireshark 网络协议分析工具】

安装笔记-系列文章目录 安装笔记-20240529-Windows-Wireshark 网络协议分析工具 文章目录 安装笔记-系列文章目录安装笔记-20240529-Windows-Wireshark 网络协议分析工具 前言一、软件介绍名称&#xff1a;Wireshark主页官方介绍 二、安装步骤测试版本&#xff1a;Wireshark-4…

力扣11. 盛最多水的容器

给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明&#xff1a;你不能倾斜容器。 示例 …

vscode编译文件夹下所有文件的配置(包含插件和 .json 文件)

文章目录 我所使用的插件.json 文件配置1. c_cpp_properties.json2. launch.json3. settings.json4. tasks.json 如何运行 我所使用的插件 红框中的五个插件是必备的&#xff0c;其中 Code Runner 插件可以在写完一个 .c 或 .cpp 文件后&#xff0c;按下 Crtl R 快捷键快速编…

Zoom | saas企业分销裂变的典范

提到视频通讯&#xff0c;相信大家不会陌生&#xff0c;国外有Skype、Google meeting、Facetime&#xff0c;国内有腾讯会议、钉钉&#xff0c;为什么在如此众多竞争对手的情况下&#xff0c;Zoom能够一马当先&#xff0c;成为行业先锋&#xff1f; 一、公司简介 Zoom是集视频…

【知识点小结】目标检测深度学习算法网络训练时的一些注意事项

验证模型的batch size如何设置&#xff1f; 若输入模型数据shape固定&#xff0c;验证时对batch size无限制若输入模型数据shape不固定&#xff0c;验证时将batch size设置成1 训练模型需要提前热身&#xff1f;&#xff08;Warm-up&#xff09; 主要为了解决初始学习率过大…

CANoe仿真工程Switch控件关联dbc信号出现的问题及解决思路

小白学习CANoe仿真&#xff0c;参考CANoe-第2个仿真工程-XVehicle—1总线数据库设计&#xff08;思路&#xff09;_canoe vehicle-CSDN博客 CANoe-第2个仿真工程-XVehicle1总线数据库设计&#xff08;操作&#xff09;_canoe factor 参数什么意思-CSDN博客CANoe-第2个仿真工程…

深入浅出mysql海量数据批量更新插入、批量查询

1. mysql的批量写 mysql 批量插入可以用下面这种&#xff0c;在values 之后跟上各种多个值列表。但这种写法可能导致sql长度超长、锁超时等问题。 insert into (field1,field1,field1,) values (value01,value02,value03),(value11,value12,value13),(value21,value22,value2…

UML行为图-状态图

概述 创建 UML 状态图的目的是研究类、角色、子系统或组件的实时行为。状态图不仅可用于描述用户接口、设备控制器和其他具有反馈的子系统&#xff0c;还可用于描述在生命期中跨越多个不同性质阶段的被动对象的行为&#xff0c;在每一阶段该对象都有自己特殊的行为。 一、状态…

AI大模型时代必须关注的数据库 DuckDB1.0 正式发布

开源数据库DuckDB1.0 经过内部6年的打磨&#xff0c;积累了30万行代码&#xff0c;1.8万star&#xff0c;2024.06.03号正式发布了1.0版本&#xff08;代号 Snow Duck&#xff09;。 我们新一代程序员&#xff0c;没能见证MySQL 1.0、PostgreSQL 1.0、Windows 1.0、Linux 1.0、…

SpringBoot: 使用GraalVM编译native应用

曾今Go语言里让我最艳羡的两个特性&#xff0c;一个是Goroutine&#xff0c;一个是native编译。 Java 21的虚线程实现了类似Goroutine的能力。Spring Boot 3.x开始提供了GraalVM的支持&#xff0c;现在Spring Boot也能打包成native文件了。 这一篇文章的目标是用一个案例讲解如…

NLP基础——序列模型(动手学深度学习)

序列模型 定义 序列模型是自然语言处理&#xff08;NLP&#xff09;和机器学习领域中一类重要的模型&#xff0c;它们特别适合处理具有时间顺序或序列结构的数据&#xff0c;例如文本、语音信号或时间序列数据。 举个例子&#xff1a;一部电影的评分在不同时间段的评分可能是…