Clumsy 弱网络环境模拟工具使用介绍
Clumsy 弱网络环境模拟工具使用介绍
by:授客 QQ:1033553122
简介
利用封装 Winodws Filtering Platform 的WinDivert 库, clumsy 能实时的将系统接收和发出的网络数据包拦截下来,人工的造成延迟,掉包和篡改操作后再进行发送。无论你是要重现网络异常造成的程序错误,还是评估你的应用程序在不良网络状况下的表现,clumsy都能让你在不需要额外添加代码的情况下,在系统层次帮你达到想要的效果
下载地址
http://jagt.github.io/clumsy/cn/download
界面简介
如下图,大致三部分,过滤器;预知过滤器;功能设置
过滤器语法介绍
outbound:是否为输出数据包
inbound:是否为输入数据包
ifldx:网络设备index
subIfIdx:副网络设备index
ip:是否为IPv4
ipv6:是否为Ipv6
icmp:是否为ICMP
tcp:是否为TCP
udp:是否为UDP
ip.*: IPv4的参数(见DIVERT_IPHDR
ipv6.*:IPv6的参数(见DIVERT_IPV6DHR
icmp.*:ICMP的参数(见DIVERT_ICMPHDR
icmpv6.*:ICMPV6的参数(见DIVERT_ICMPV6HDR
tcp.*:TCP的参数(见DIVERT_TCPHDR
tcp.PayloadLength:TCP数据长度
udp.*:UDP的参数(见DIVERT_UDPHDR
可以用“< ==”,“> ==”,“and”, “or”, “=”进行过滤器设置
预设过滤器
可以将常用个过滤器写到clumsy.exe所在文件夹下的config.txt中。
功能设置
勾选左侧的复选框后才可对右与左侧复选框功能对应的参数进行设置。每个功能左边都有一个小圆点图标,其起作用时就会变绿。在数据包捕获开启的情况下,可以实时开启/关闭任何功能,它们都会即时生效。
1)延迟(Lag),把数据包缓存一段时间后再发出,这样可以模拟网络延迟的状况
2)掉包(Drop),随机丢弃一些数据
3)节流(Throttle),把一小段时间内的数据拦截下来,并再在之后的统一时间一起发出去
4)乱序(Out of order),打乱数据包发送的顺序
5)篡改(Tamper),随机修改小部分的数据包内容
其中
Lag time设置延迟毫秒数,
Chance设置该功能发生的概率;
Inbound/Outboud 设置是否处理输入/输出数据包。这里是filter基础上提供的一个选择的机会,可实时生效。
使用方法
1.设置过滤器
2.功能设置(可选)
3.点击Start
4.其它测试操作
5.点击Stop
作者:授客
微信/QQ:1033553122
全国软件测试QQ交流群:7156436
Git地址:https://gitee.com/ishouke
友情提示:限于时间仓促,文中可能存在错误,欢迎指正、评论!
作者五行缺钱,如果觉得文章对您有帮助,请扫描下边的二维码打赏作者,金额随意,您的支持将是我继续创作的源动力,打赏后如有任何疑问,请联系我!!!
微信打赏
支付宝打赏 全国软件测试交流QQ群
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库