Bean Network Tester

Windows 上的 netem 与 Network Link Conditioner

Linux 上有 tc netem,Mac 上有 Network Link Conditioner。Windows 没有任何内置工具能增加延迟和丢包。本页把你已经熟悉的东西对应到 Bean Network Tester,并指出哪些数字不能照搬。

netem 选项逐项对照

这里的每条命令都要加上 --target 和 --duration,否则会影响整台电脑。

netem窗口中的设置参数
delay 100ms延迟--latency 100
delay 100ms 20ms延迟, 抖动--latency 100 --jitter 20
loss 5%丢包--loss 5
loss 5% 25%丢包, 连续丢包(burst)--loss 5 --loss-burst 4
duplicate 1%重复包--dup 1
corrupt 0.1%数据损坏--corrupt 0.1
reorder 25%尖峰概率, 尖峰幅度--spike-prob 5 --spike-ms 200
rate 1mbit下载, 上传--down 122 --up 122
limit 1000缓冲区--buffer 1000

需要注意的三点差异

方向。netem 延迟的是离开网卡的数据,回复则原样返回。本工具默认捕获双向流量,所以 --latency 100 会让 ping 增加约 200 毫秒:去程 100,回程 100。要得到 netem 的效果,只捕获出站流量:

BeanNetworkTester.exe --filter out --latency 100 --jitter 20 --target myapp.exe --duration 120

单位。netem 的速率以比特每秒计。速度限制字段以 KB/s 计,其中 K = 1024。兆比特的换算如下:

netem 速率速度限制字段,单位 KB/s
1mbit122
5mbit610
10mbit1221
50mbit6104
100mbit12207

范围。tc 作用于整个网络接口,并且需要 root 权限。本工具用 --target 只针对一个程序,需要管理员权限。

如果你熟悉 Network Link Conditioner

苹果的工具以命名的配置文件为基础。这里最接近的对应项:

Network Link Conditioner这里最接近的
100% Loss把丢包设为 100
3G3G 网络
DSL家庭 DSL(VDSL)
LTELTE / 4G
WiFi良好 Wi‑Fi
Very Bad Network极差网络
Edge没有对应的配置。请自己填写速度限制和延迟,然后用“另存为...”按钮保存为自己的配置。

这些数值不是苹果的,所以请把配置当作起点。每个配置设置的所有数值都列在参考页上。

在 Windows 上你还能得到什么

在 Linux 或 macOS 上,请使用原版工具。本工具只能在 Windows 上运行。

接下来

准备好故意搞坏自己的网络了吗?

下载 Windows 版