网络异常模拟测试方法

异常测试的测试点 异常测试的测试点 1.文件丢失测试 强行删除被测软件的一些文件,测试被测系统的提示是否准确以及其后的相关补救提示或操作; 2.服务器资源测试 通过人为手段,增加软件数据库服务器、web服务器或者中间件服务器等相关服务器的硬件资源,如:cpu、内存、硬盘等的负载,测试被测系统的反应和其后的补救提示或操作; 3.断电测试 在测试期间,对部分或者所有相关软件测试机器进行断电测试,测试软件的恢 阅读详情

1.网络异常的分类

在系统的运行过程中,可能会遇到各种各样的网络问题,其中主要可能出现的问题有

网络延迟:当网络信息流过大时,可能导致设备反应缓慢,造成数据传输延迟;

网路掉包:网路掉包是在数据传输的过程中,数据包由于各种原因在信道中丢失的现象;

网络节流:当数据传输量达到网络带宽上限时,数据包可能会被设备拦截下来在之后发出;

网络重发:当网络不稳定是可能会导致发送端判断数据包丢失导致部分数据包重发;

数据乱序:当数据传输有可能出现数据包到达接收端时间不一致,导致数据包乱序问题;

数据篡改:数据传输的过程中可能出现数据被连接篡改的情况。

2.Windows下网络异常的模拟方法

Windows下可以使用clumsy来进行网络异常的模拟

clumsy 首先根据用户选择的 filter 来拦截指定的网络数据。在 filter 中可以设定你感兴趣的协议(tcp/udp),端口号,是接收还是发出的端口。你也可以通过简单的逻辑语句来进一步缩小范围。当 clumsy 被激活时,只有符合这些标准的网络数据会被进行处理,而你不感兴趣的数据仍然会由系统正常传输。

当被 filter 的网络数据包被拦截后,你可以选择clumsy 提供的功能来有目的性的调整网络情况:

延迟(Lag),把数据包缓存一段时间后再发出,这样能够模拟网络延迟的状况。

掉包(Drop),随机丢弃一些数据。

节流(Throttle),把一小段时间内的数据拦截下来后再在之后的同一时间一同发出去。

重发(Duplicate),随机复制一些数据并与其本身一同发送。

乱序(Out of order),打乱数据包发送的顺序。

篡改(Tamper),随机修改小部分的包裹内容。

在测试时,该工具的filtering使用默认即可,Presets选择localhost ipv4 all,然后配置相应的功能单击start按钮,等待按钮变成stop以及按钮旁边出现小绿点时,工具则启用成功。

使用工具模拟网路延时,网络延时3000ms

使用工具模拟网络掉包,随机将10%的数据包丢弃

使用工具模拟网络节流,将10%的数据节流1000ms

使用工具模拟网络重发,将10%的数据集重发两次

使用工具模拟网络乱序,将10%的数据乱序

使用工具模拟网络篡改,篡改10%的数据

测试的过程中可以检查业务处理是否正确,比如检查数据库数据是否正确,数据库与文件库是否一致,文件库是否出现较多的垃圾文件,垃圾文件是否有清理机制等等。

3、Linux下的网络异常模拟方法

           netem是Linux2.6及以上内核版本提供的一个网络模拟功能模块。该功能模块可以用来在性能良好的局域网中,模拟出复杂的互联网传输性能,诸如低宽带,传输延迟,丢包等等情况。使用Liunx 2.6(或以上)版本内核的很多发行版Linux都开启了该内核功能,比如Fedora、Ubuntu、Redhat、OpenSuse、CentOS、Debian等等。tc是Linux系统中的一个工具,全名为traffic control(流量控制)。tc可以用来控制netem的工作模式,也就是说,如果想使用netem,需要至少两个条件,一个是内核中的netem功能被包含,另一个是要有tc。

       模拟网络异常方法:

        1、首先查看网卡,可使用ipconfig命令查看

[root@localhostnetwork-scripts]# ifconfig

           eno16777736:

flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

                   inet 192.168.75.132 netmask 255.255.255.0  broadcast

192.168.75.255

                   inet6fe80::20c:29ff:fe7c:8d22  prefixlen 64  scopeid

0x20<link>

                   ether 00:0c:29:7c:8d:22 txqueuelen 1000  (Ethernet)

                   RX packets 19535  bytes2592045 (2.4 MiB)

                   RX errors 0  dropped 0 overruns 0  frame 0

                   TX packets 31019  bytes38969412 (37.1 MiB)

                  TX errors 0  dropped 0 overruns 0 carrier 0  collisions 0

          红字表明的就是网卡的设备号

          2、模拟网络异常可通过以下命令,其中eth0可根据自己的网卡设备号进行替换:

               网络延迟

                     tc qdisc add dev etho rootnetem delay 100ms

                     该命令将eth0网卡的传输设置为延迟100毫秒发送。

                     模拟更真实的情况,延迟值可能会有一定的波动性,可以使用以下命令来模拟

                     Tc qdisc add dev eth0 root netem delay 100ms 10ms

                      该命令将eth0网卡的传输设置为延迟100ms ±  10ms(90~110ms之间的任意值)发送

                网络丢包

                       tc qdisc add dev eth0 root netem loss 1%

                       该命令将eth0网卡的传输设置为随机丢掉1%的数据包

                数据包重复

                       tc qdisc add dev eth0 root netem duplicate 1%

                       该命令将eth0网卡的传输设置为随机产生1%的重复数据包。

                数据包损坏

                       tc qdisc add dev eth0 root netem corrupt 0.2%

                       该命令将eth0网卡的传输设置为随机产生0.2%的损坏的数据包。

                 数据包乱序

                       tc  qdisc change dev eth0 root netem delay 10ms reorder 25% 50%

                       该命令将eth0网卡的传输设置为:有25%的数据包(50%相关)会被立即发送,其他的延迟10秒。

                查看已经配置的网络条件

                       tc qdisc show dev eth0z

                        如果需要删除已配置的条件,则将以上命令中的add更改为del即可。

基于时间约束的CAN网络管理一致性测试方法复现与实现 本文复现了一种基于时间约束的AUTOSAR CAN网络管理一致性测试方法。针对TTCN-3在时间测量上的局限性,设计了包含测试管理模块和测试服务模块的测试架构,并定义了不定长测试通信报文格式。通过扩展TTCN-3语法引入时间戳重定向、时间谓词等机制,结合插桩技术获取精确的报文发送时间点,补偿串口通信延迟。在模拟MPC5745B平台上实现测试系统,编写了详细的TTCN-3测试用例和C语言模拟程序。实验结果表明,该方法能有效覆盖121条规范要求,定位异常并满足定时精度要求,验证了其在CAN网络管理一致性测试中的 阅读详情

相关推荐

java网络异常的几个解决方法

关于java网络异常的几个解决方法,希望对大家有所帮助。。

网络测试及故障诊断方法及工具

1、网络调试工具概说; 如果我们把一台机器接入网络中,通过网络配置工具的配置这时就要用到网络调试工具,目的是判断机器是否已经接入到网络以及网络连接是否正常。我们常用的在各个发行版通用的网络配置工具是ifconfig和netconfig,当然Linux各大发行版本又有自己的配置工具,这些特定发行版特别的配置工具是非常有效的,大多是图形界面的,操作也非常之简单。 有关网络配置工具,请参考: 《L...

weixin_33795833的博客 1075

小米手机Magisk解锁与Root完整指南:从Bootloader到模块管理

Android系统Root权限获取是设备深度定制的核心技术之一,其核心原理在于通过修改系统启动流程获取超级用户权限。Systemless Root技术通过动态挂载修改,在不触碰系统分区的前提下实现功能注入,既保证了系统完整性,又能绕过完整性检测。这一技术为设备带来了极高的可定制性,用户可以通过模块化方式增强系统功能、修改UI界面或启用隐藏特性。在小米手机生态中,由于官方提供了完整的Bootloader解锁通道,结合Magisk的无系统修改Root方案,使得安全可控的深度定制成为可能。本文聚焦于Bootloa

weixin_29164185的博客 333

classpath加载异常,找不到bean

ssm整合时出现 org.springframework.beans.factory.BeanCreationException :Error creating bean with name ‘XXX’ 异常的原因及解决方法 ssm整合时出现 org.springframework.beans.factory.BeanCreationException :Error creating bean w...

知北 925

从AND到XOR:5种门控电路在PrimeTime中的检查策略差异

本文深入探讨了AND、NAND、OR、NOR和XOR五种门控电路在PrimeTime静态时序分析中的检查策略差异。重点解析了XOR门控因其非单调性而无法被工具自动推断,需要工程师手动配置的特殊性,并提供了针对各类门控的配置模板与调试技巧,以确保时钟网络的完整性与芯片设计的可靠性。

rgv2345678的博客 269

离散系统傅里叶变换的常用结论证明

本文介绍了离散系统傅里叶变换的三个重要结论:1)时域卷积对应频域相乘(公式1-3);2)时域相乘对应频域卷积(公式4-6);3)帕塞瓦尔定理(公式7)及其广义形式,证明信号能量在变换域保持不变。文末提供了MATLAB卷积运算演示程序,通过动画展示离散信号卷积过程(翻转、平移、相乘、累加),并以方波信号为例给出运行结果图。该程序直观呈现了卷积运算的步骤与结果。

newtton的博客 1302

Windows和Linux环境,网络异常模拟测试方法【转载自光荣之路微信公众号】

1.网络异常的分类 在系统的运行过程中,可能会遇到各种各样的网络问题,其中主要可能出现的问题有 网络延迟:当网络信息流过大时,可能导致设备反应缓慢,造成数据传输延迟; 网路掉包:网路掉包是在数据传输的过程中,数据包由于各种原因在信道中丢失的现象; 网络节流:当数据传输量达到网络带宽上限时,数据包可能会被设备拦截下来在之后发出; 网络重发:当网络不稳定是可能会导致发送端判断数据包...

weixin_30772105的博客 606

CentOS 7升级GCC踩坑记:明明装了centos-release-scl,为啥找不到devtoolset-9-gcc-c++?

本文详细记录了在CentOS 7系统中升级GCC时遇到的`devtoolset-9-gcc-c++`不可用问题及其解决方案。通过分析`centos-release-scl`安装不完整的原因,提供了从清理残留、重新安装仓库配置到完整安装devtoolset-9工具链的全套操作指南,帮助开发者彻底解决类似环境配置难题。

weixin_29252171的博客 244

app专项的网络测试和Fiddler弱网模拟

针对网络环境,先学习几个概念: (1)断点续传:支持从文件上次中断的地方开始传输数据,而并非是从文件开头传送。 (2)edge网络:首先从发展趋势来说edge算是2.75G,是GSM网络的增强。                               由于edge是介于现有的第二代移动网络与第三代移动网络之间的过渡技术,因此也有人称它为“二代半”技术 (3)GPRS网络:是介于2G和3

毛桃宝O(∩_∩)O博客 1万+

Mac 下 OpenClaw 安装全记录:从零到一的保姆级图文教程

本文主要介绍了Mac 下 OpenClaw 安装全记录:从零到一的保姆级图文教程,希望能对学习使用OpenClaw 的同学们有所帮助。 文章目录 1. 背景 2. 安装教程 2.1 安装OpenClaw 2.2 配置模型 2.3 对话 3. 后续使用步骤 4. 关闭程序

weixin_43178406的博客 11万+

FPGA原型验证(七):如何选择、搭建原型验证平台?

本篇概要::讨论了在项目初期选择目标FPGA平台的重要性,包括自制板卡与购买现成板卡之间的决策。主要是为那些希望建立基于FPGA的原型平台的工程师和设计师提供了深入的技术细节和决策指导,无论是选择自制还是购买现成的解决方案。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 943

Scrawl:终极屏幕标注录制工具——按一个键,把问题直接展示给AI Agent

你有没有过这种经历:向 AI Agent 描述一个 Bug 时,说了半天"就是那个按钮点不动,会闪一下",结果 Agent 还是没理解问题在哪?[Scrawl](https://link.gitcode.com/i/6f0f405c351c088528a76514b6dbc1cc) 解决的就是这个痛点——它是一款屏幕录制 + 标注工具:按下 `⌥⇧S`,边说话、边点击、边在屏幕上画红笔标注,再按一

gitblog_00192的博客 809

图解ADAS电源系统架构:看懂这张图,搞懂前装摄像头的供电秘密!

别以为ADAS系统就是“摄像头 + SoC”,其实最难搞的是供电系统,尤其是要满足车规级ASIL-D安全等级时。供电时序、电压稳定性、电源监控、冗余通信链路,一个都不能少。😤一旦电源选型不对,轻则系统卡顿,重则全车失控,不是闹着玩的。

weixin_43199439的博客 672

Jest Fetch Mock实战教程:模拟成功请求、失败场景与重定向响应

Jest Fetch Mock是一个专为Jest设计的强大网络请求模拟工具,能够帮助开发者轻松测试各种API交互场景。本文将通过实用示例,详细介绍如何使用Jest Fetch Mock模拟成功请求、失败场景和重定向响应,让你的前端测试更加可靠和高效。 ## 快速入门:安装与基础配置 ### 一键安装步骤 首先,通过npm或yarn将Jest Fetch Mock添加到你的开发依赖中: ``

gitblog_00124的博客 513

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

网络测试与协议分析:HTTP、WebSocket、TCP/IP协议测试全指南

网络协议是现代软件通信的基础,而掌握HTTP、WebSocket和TCP/IP协议测试技能是保障系统稳定性与安全性的关键。本文将带你系统学习这三种核心协议的测试方法、工具使用和实战技巧,帮助你快速定位网络问题,提升测试效率。 ## 为什么网络协议测试至关重要? 在当今分布式系统架构中,网络通信质量直接影响用户体验和系统可靠性。据行业统计,约35%的软件故障根源来自网络层问题,包括协议实现缺陷、

gitblog_00641的博客 389

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

app专项测试:app弱网测试

场景二:302跳转页面,达到内置超时阀值后,webview自动关闭。 原因:业务有页面加载超时自动关闭的逻辑,超时机制未考虑302场景。

okcross0的博客 1073

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

华为ENSP模拟器实战:手把手教你用GRE隧道打通两个异地办公室网络

本文详细介绍了如何使用华为eNSP模拟器配置GRE隧道实现异地办公室网络互联。通过分步指导,包括GRE隧道技术原理、实验环境构建、隧道建立与路由配置,以及连通性测试与故障排查,帮助IT管理者快速掌握低成本实现内网互通的解决方案。

weixin_30299709的博客 323
上一篇: python-----类的继承
下一篇: python的各种推导式(列表推导式、字典推导式、集合推导式)
java2013liu
博客等级 码龄14年 141粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值