Clumsy

article/2025/10/6 23:41:22

笔者最近因为需要在局域网内模拟一个实际情况(即存在丢包、延迟等情况)。网上搜了很多工具,大多基于linux。后来好不容易在网上搜索到一款2014年出现的网络模拟工具----Clumsy。


(参考了http://jagt.github.io/clumsy/)

Clumsy是基于C语言开发的一款开源网络模拟工具。它能在Windows平台下人工造成不稳定的网络状态,应用它可以方便调试应用程序在极端网络状态下的表现。

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

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

(2)丢包(Drop):随机丢弃一些数据;

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

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

(5)乱序(Out of order):打乱数据包发送的顺序;

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

图1是Clumsy界面(此时丢包率为50%)。

 

图1:Clumsy 0.2 运行页面

在局域网(正常情况下,零丢包)环境下,通过ping测试,不同丢包率下的实际丢包率。结果如下:

Clumsy设置的丢包率

0%

5%

10%

20%

30%

40%

50%

60%

70%

80%

90%

ping实验丢包率

0%(734次)

6%(677次)

11%(782次)

19%(506次)

31%(664次)

38%(725次)

51%(1120次)

58%(823次)

70%(544次)

84%(604次)

91%(455次)


因此从一定程度上证明了该工具的效果很好,延迟也有测试,效果明显。


笔者用该工具测试了UDP的传输、JGroups的组播通信。有兴趣研究可靠性的读者可以参考该工具,目前该工具更新到0.2版本。

如果有人在首次下载使用时,启动失败,应该是版本不对,Clumsy有32和64位2个版本(下载地址:http://jagt.github.io/clumsy/download.html)


http://chatgpt.dhexx.cn/article/8qSO1tnF.shtml

相关文章

clumsy使用简介(模拟弱网)

前提:使用过Fiddler弱网模式的小伙伴,应该都体会过,模拟弱网的时候,只是均匀的慢,但是实际场景可能是网络会波动的,而clumsy不但能设置延迟,还能设置节流、重发、乱序等模式,有助于我…

使用 clumsy 模拟极端网络状况

clumsy 能在 Windows 平台下人工造成不稳定的网络状况,方便你调试应用程序在极端网络状况下的表现。 简介 利用封装 Winodws Filtering Platform 的WinDivert 库, clumsy 能实时的将系统接收和发出的网络数据包拦截下来,人工的造成延迟,掉包…

clumsy使用简介

前提:使用过Fiddler弱网模式的小伙伴,应该都体会过,模拟弱网的时候,只是均匀的慢,但是实际场景可能是网络会波动的,而clumsy不但能设置延迟,还能设置节流、重发、乱序等模式,有助于我…

clumsy 弱网测试工具

clumsy工具介绍 clumsy 能在 Windows 平台下人工造成不稳定的网络状况,方便你调试应用程序在极端网络状况下的表现。下面根据工作中遇到过的实际场景介绍一下clumsy工具的使用方法 场景:测试客户端下载文件失败,客户端对这种异常情况做出的处…

弱网测试工具—— clumsy

clumsy 能在 Windows 平台下人工造成不稳定的网络状况,方便你调试应用程序在极端网络状况下的表现。 简介 利用封装 Winodws Filtering Platform 的WinDivert 库, clumsy 能实时的将系统接收和发出的网络数据包拦截下来,人工的造成延迟,掉包…

ClickOnce是什么?如何使用?

ClickOnce是一种部署方式,主要解决C/S软件版本更新后,所有客户端都要重新安装的问题。 场景:假如,你的客户有1000个,你的服务端更新后,这1000个客户都要重新安装,难道要员工一个一个的电话通知客…

@click与V-on:click

问题:为什么click是V-on:click的简写,两个效果却不同,click不能打印触发的事件? 原因:语法糖 链接:https://segmentfault.com/a/1190000010159725

VB.net小技巧——ClickOnce应用程序版本号自动递增

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 VB.net小技巧——ClickOnce应用程序版本号自动递增 ClickOnce应用程序每次在更新版本的时候,我都会在主窗口的标题添加当前版本号,但是因为每次都要手…

js中click()与onclick()的区别

由一个简单示例到 js中click()与onclick()的区别 之前朋友在学习js的时候遇到一个有意思的问题。 先贴一份代码说一下代码构成 这里是html结构 <ul><li><input type"checkbox" name"" id"" class"che" checked />全…

click和on click区别

click和onclick的区别 onclick是绑定事件&#xff0c;告诉浏览器在鼠标点击时候要做什么&#xff1b;click本身是方法&#xff0c;作用是触发onclick事件&#xff0c;只要执行了元素的click()方法&#xff0c;就会触发onclick事件 click可以理解为一次简单的触发&#xff0c;…

ClickOnce发布

ClickOnce是.NET中集成的一种发布技术,它最大的好处就是可以实现自动更新。我们在开发WinForm/WPF等C/S架构的程序时需要自动更新功能,就可以通过ClickOnce快速部署实现。 一、发布设置 在VS中右键项目属性,选择发布选项卡,打开如下图的界面。 安装模式和设置区域,可以设…

.click()与on('click',function())

之前遇到过一次.click()无效,改成on绑定click就好了的情况,看了几篇博客后,发现是自己对click()和on的理解不够,没太在意,最近又遇到了,所以写下这篇博客加深印象。 $(选择器).click(fn):当选中的选择器被点击时触发回调函数fn。只针对与页面已存在的选择器。而.J_del这…

Click(点击)

Click <button id"btn" onclick"threeFn()">点我</button>点击事情方式 // 第一种 通过点击事件btn.onclick function () {alert(这是第一种点击方式);};监听点击事件 // 第二种 监听点击事件btn.addEventListener(click, function () {al…

clickonce 使用总结

1.部署 C#Winform程序如何使用ClickOnce发布并自动升级&#xff08;图解&#xff09;_shaojinbo的专栏-CSDN博客 补充 vs2015 clickOne 项目发布流程 包括自动更新 教你怎么在IIS中添加网站教你怎么在IIS中添加网站 https://jingyan.baidu.com/article/6181c3e0d45bad152e…

快速创建软件安装包-ClickOnce

大家好&#xff0c;我是沙漠尽头的狼。 .NET是免费&#xff0c;跨平台&#xff0c;开源&#xff0c;用于构建所有应用的开发人员平台。 今天介绍使用ClickOnce制作软件安装包&#xff0c;首先我们先了解什么是ClickOne。 1. 什么是ClickOnce 以下段落摘自微软文档&#xff1a…

视频教程-SharePoint 搜索教程-其他

SharePoint 搜索教程 大家好&#xff0c;我是霖雨&#xff0c;从2010年开始致力于SharePoint相关的技术研究&#xff0c;精通SharePoint环境搭建、实施、开发、运维、排错等相关技术&#xff0c;从2014年至今连续获评微软有价值讲师SharePoint方向MVP&#xff0c;在CSDN博客发表…

Office 365 轻松上手指南 - SharePoint Online (五)

2.7.2.2. 验证差旅报销工作流经验 场景一&#xff1a;部门主管拒绝申请 步骤1 用员工帐户&#xff08;demomicrosoft.com&#xff09;登录Office 365&#xff0c;然后依次点击“SharePoint”—“工作组网站”—“差旅报销”“新建项目”&#xff0c;如图&#xff1a; 步骤2 将…

SharePoint 2016 图文安装教程

安装完毕SQL Server&#xff0c;就可以开始安装SharePoint 2016 准备工具了&#xff0c;打开镜像文件&#xff0c;点击准备工具的可执行文件&#xff0c;如下图&#xff1a; 准备工具的向导&#xff0c;如下图&#xff1a; 所有准备工具&#xff0c;需要安装这么一系列软件&…

SharePoint Online 列表modern UI手把手教程如何使用及问题

目录 快速上手 目前问题 快速上手 默认界面 默认的Modern UI在双击单个条目后会自动出现在右边&#xff0c; 自定义界面&#xff08;Power Apps&#xff09; 在列表上方点击PowerApps会出现下拉菜单&#xff0c;点击自定义表单即可进入PowerApps界面自定义 目前问题 HTML…

Collabion Charts for SharePoint教程一:添加Web Parts

2019独角兽企业重金招聘Python工程师标准>>> 安装Collabion Charts for SharePoint之后&#xff0c;我们需要创建Web Parts启动Collabion Charts wizard并创建图表。下面我们就使用Collabion Charts for SharePoint添加Web Part。 添加Collabion Charts for SharePo…