弱网测试工具clumsy

article/2025/10/6 22:56:17

clumsy 能在 Windows 平台下人工造成不稳定的网络状况,方便你调试应用程序在极端网络状况下的表现。

简介

利用封装 Winodws Filtering Platform 的WinDivert 库, clumsy 能实时的将系统接收和发出的网络数据包拦截下来,人工的造成延迟,掉包和篡改操作后再进行发送。无论你是要重现网络异常造成的程序错误,还是评估你的应用程序在不良网络状况下的表现,clumsy 都能让你在不需要额外添加代码的情况下,在系统层次帮你达到想要的效果:

特色

  • 下载即用,不需要安装任何东西。
  • 不需要额外设置,不需要修改你的程序的代码。
  • 系统级别的网络控制,可以适用于命令行,图形界面等任何 Windows 应用程序。
  • 不仅仅只支持 HTTP,任何 TCP, UDP 的网络连接都可以被处理。
  • 支持本地调试(服务器和客户端都在 localhost)
  • “热插拔”,你的程序可以一直运行,而 clumsy 可以随时开启和关闭。
  • 实时调节各种参数,详细控制网络情况。

实例

下面的动画展示了 clumsy 作用于一个本地的基于 netcat 的 UDP 服务器/客户端的情况。仔细观察你可以看到数据根据在 clumsy 的影响下产生了相应的变化。如果你基本知道了 clumsy 是干什么用的,不妨到下载页面选择适用于你系统的版本进行下载。

图片

详细信息

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

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

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

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

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

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

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

尽管当前宽带网络连接十分普及,但网络传输其本身在本质上总不是稳定的。如果你的应用程序中没有应对各种情况的处理,那么有可能一个丢失的 UDP 包裹都会让你的程序崩溃。正确的调试这类行为 显然需要再代码结构上进行仔细的设计和处理,还会很花功夫。而且在某些封装紧密的开发环境(Unity3D 自带的网络库可能是一个例子)下会更麻烦。clumsy 以尽可能减轻程序员负担为目标, 希望提供一个简单方便(但并不完美)的解决方案。

如何使用

首先请根据你系统的版本(32位或64位)下载 clumsy 最新版本。注意如果你安装的是64位的系统那么一定要下载64位的 clumsy。另一件重要的事实 clumsy 需要管理员权限才能正常工作。双击打开 clumsy 的话会弹出 UAC 对话框。如果没有的话请右键点击 clumsy.exe 选择"以管理员身份运行"。如果一切正常,你应该能看到如下图的界面:
图片

根据上图中的数字图标顺序:

Filter。详细的 filter 语法在下一部分有仔细的讲解。但是简单的讲它跟你常见的编程语言中的 if 中的条件写法几乎一样。数据包将根据这个标准被拦截。

预设 Filte。这里提供了一系列内置的预设 Filter 供你使用。你可以通过参考他们来写你自己需要的 Filter,也可以把你发现常用的 filter 写到 clumsy.exe 所在文件夹下的 config.txt 中。

开始/结束 按钮。点击此按钮 clumsy 就会开始捕捉数据包。在某些情况下,比如提供的 filter 语法有问题 clumsy 无法正常开始工作。请参考底部的提示进行操作。如果一切正常按钮上的文字会变为 “Stop”,按下就会停止捕捉包裹,系统网络会恢复正常。按钮左边有一个小图标,每当数据包被捕获的时候它会变绿,当包裹重新注入失败的时候它会变红色。这时你应该考虑是否遇到了上面限制中提到的问题。另外需要提到的是开启和结束可以随时进行并实时生效。

功能控制。勾选功能对应的选框来开启对应的功能。每个功能左边也有一个小图标,其起作用的时候就会变绿。在数据包捕获开启的状态下,你可以实时开启/关闭任何功能,它们都会即时生效。

参数控制。对每个功能,都附有对应的参数控制控件让你进行详细的配置。其中最常见的有:

Inbound/Outbound: 是否处理输入/输出数据包。这里在 filter 的控制之外额外提供一个选择的机会,并且也可以在实时生效。

Chance: 功能生效的概率。显然你需要把它们设置在一个合理的范围内才不会让网络在可以接受的范围内劣化。
状态。显示 clumsy 当前状态的帮助信息。

手机如何模拟弱网:

电脑上设置好网络后,如果是笔记本,可以直接开个WIFI手机连;如果是PC,可以买个小米WIFI或360WIFI,然后手机连接。这样手机的网就和电脑上一样了。

下载地址:

http://jagt.github.io/clumsy/cn/download.html

软件测试工程师自学教程:

这才是2022最精细的自动化测试自学教程,我把它刷了无数遍才上岸字节跳动,做到涨薪20K【值得自学软件测试的人刷】

接口性能测试 — 软件测试人必会618实战场景分析

软件测试工程师月薪2W以上薪资必学技能 — Python接口自动化框架封装.

美团面试真题_高级测试25K岗位面试 — 软件测试人都应该看看

测试开发之全面剖析自动化测试平台 — 软件测试人的必经之路

软件测试必会_Jmeter大厂实战 — 仅6步可实现接口自动化测试

Jmeter实战讲解案例 — 软件测试人必会

最后: 可以在公众号:伤心的辣条 ! 自行领取一份216页软件测试工程师面试宝典文档资料【免费的】。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

现在我邀请你进入我们的软件测试学习交流群:746506216】,备注“入群”, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路。

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


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

相关文章

使用clumsy模拟网络延迟

为何模拟网络延迟 由于最近打算做及时对战类的游戏,对于及时对战类的游戏,首先要解决的问题就是网络延迟的问题。网络延迟对于游戏的体验至关重要。那么开发一款网络游戏要怎么解决这一问题呢。想要解决网络延迟,首先就要模拟网络延迟。那么…

[测试]Clumsy网络模拟工具

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

curle(curley)

Queen Elizabeth is afraid of Mary. Bess Curle wrote the story. 这两句什么意思? 伊丽莎白女王害怕玛丽,Bess Curle写(说)出了这个道理。(这里的story成为道理,事实意义,不再只是故事的意思),希望对你有帮助&#x…

网络抖动工具clumsy

网络抖动工具clumsy 下载与安装 下载地址:https://download.csdn.net/download/Asia1752/85192646 使用 说明: 1、Lag(延迟),把数据包缓存一段时间后再发出,这样能够模拟网络延迟的状况。 2、Drop(掉包),随机丢弃一…

网络丢包工具clumsy

以webrtc为例,未开始前 设置丢包率10%后,丢包会增加,如下图: Lag是延迟。设置后,增加网络延迟

Windows下网络环境模拟工具-Clumsy

公司设备需要模拟在弱网(如:延迟、丢包)环境下进行数据的传输,网上看资料找到一款工具Clumsy( 文章出处:Clumsy-Windows下网络环境模拟工具_clumsy工具_Hello,C!的博客-CSDN博客),安装进行模拟,基本可以满足…

弱网测试工具 clumsy

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

Clumsy的使用方法

Clumsy的使用方法: 1、 解压clumsy-0.2-win64.zip(下载地址:https://files-cdn.cnblogs.com/files/nimq/clumsy-0.2-win64.zip)注:只适用于Windows 64位电脑,其他系统版本需要下载适配的版本 2、 打开clu…

Clumsy-Windows下网络环境模拟工具

下载页 http://jagt.github.io/clumsy/cn/download 项目的代码可以在github上获取,在下载页面有编译好的版本。强烈建议在使用前花点时间阅读一下文档,来 了解 clumsy 的功能和限制。 目前的实现中有一些难以绕过的限制和问题,列表如下&…

Clumsy

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

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;…