弱网测试工具Clumsy

1、工具介绍:

下载地址:http://jagt.github.io/clumsy/cn/download

界面展示

2、使用说明

例如  IP地址 :ip.DstAddr == 129.196.0.0 or ip.SrcAddr == 129.196.0.0  表示过滤从这个IP的是发来的包和发向这个IP地址的包


基本操作:

1.设置过滤器

2.功能设置(可选)

3.点击Start

4.其它测试操作

5.点击Stop

3、Filter 语法:

官方说明:详细地址

ip.DstAddr:destination 的缩写 是IP目的地址

ip.SrcAddr:source 的缩写 是IP源地址

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中。

4、functions

Lag:设置延迟; 把数据包缓存一段时间后再发出,这样可以模拟网络延迟的状况

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

-Delay:延迟多少毫秒

Drop: 设置掉包;随机丢弃一些数据

-Chance设置该功能发生的概率;

Throttle:设置节流; 把一小段时间内的数据拦截下来,并再在之后的统一时间一起发出去

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

Out of order:乱序打乱数据包发送的顺序

Tamper:篡改;随机修改小部分的数据包内容

Tips

延迟比在 Lag 里设置的要严重很多。

这个问题的重点在于,clumsy 里面的设置并不是准确的可以用来做测速的值。其作用更倾向于作为参数控制软件的行为。 另一个需要理解的是,这里的延迟是作用于每一个网络包裹的。比如建立一个 TCP 连接需要至少 3 个包裹。那么如果 clumsy 引入了 20ms 的延迟,对于每一个 TCP 连接则至少引入了 3*20=60ms 的延迟。如果是要载入一个网页的话,有部分 HTTP 请求必须是要按顺序完成后页面才能开始渲染。假如要完成 1, 2, 3 这三个请求,那么 clumsy 在这里至少引入了 3*60=180ms 的延迟。

类似软件

以下是有类似功能的软件,如果 clumsy 不能满足你的需求你可以试试这些。

Network Emulator for Windows Toolkit(Windows) - 微软提供的网络模拟工具。

ipfw or pfctl(FreeBSD/OSX) - BSD 下的网络模拟工具。

wipfw(Windows) - ipfw Windows 移植,但功能只有 ipfw 的一个子集。

netem(Linux) - Linux Kernel 提供的网络模拟。

tc(Linux) - 配置 Linux Kernel 的网络流量控制。

Throttle(Mac) - 通过分享无线网络来模拟 3G 网络。

Network Link Conditioner(Mac) - XCode 自带的网络模拟工具。

你可能感兴趣的:(弱网测试工具Clumsy)