Bean Network Tester

在糟糕的网络上测试你的应用

Bean Network Tester 可以为单个 Windows 应用增加延迟、丢包和限速。你会亲眼看到用户在火车上、酒店热点里,或者手机只有一格信号时遇到的情况。

它是针对单个程序而不是整台电脑的网络模拟器,所以你可以为被测应用重现缓慢的网络,同时让其他一切照常工作。

下载 Windows 版 在 GitHub 上查看源码

免费开源,采用 GPLv3 许可。支持 Windows 10 和 11(64 位)。无需账号,无遥测。

工具运行时,一次实时 ping 出现丢包并增加了延迟
为一个正在运行的连接增加延迟和丢包。

它会对你的网络做什么

让网络变慢

增加固定或随机的延迟。看看 300 ms 的 ping 会对你的加载动画造成什么影响。

丢弃数据包

丢弃、重复或损坏数据包,然后观察你的应用是能恢复,还是直接卡死。

限制速度

把下载或上传限制在设定的每秒 KB 数,就像信号不好的移动网络那样。

切断链路

断开连接,阻断某个端口或地址,或者让网络时有时无。

只针对一个应用

选择一个进程、PID、地址或端口。电脑的其余部分照常工作。

精确重复

同一个随机种子会重放同一次运行。这就是一份 bug 报告和一个故事之间的区别。

三步即可运行

  1. 从发布页面下载 zip 压缩包,解压到任意位置。
  2. 启动 BeanNetworkTester.exe。它会自行请求管理员权限,因为捕获流量需要这些权限。
  3. 选择一个现成的配置方案,例如“3G 网络”,点击 开始,然后使用你的应用。

同一个文件里还有文本模式,所以整个流程也能在流水线中运行。只需一条命令,就能检查你的服务能否扛住 10% 的丢包:

BeanNetworkTester.exe --loss 10 --target myapp.exe --duration 60

时间一到它会自行停止,因此卡住的步骤不会留下一个被破坏的网络。加上 --simulate 可以演练命令,而不触碰真实流量。

谁在使用

需要重现“在我机器上是好的”的测试人员。需要让超时真正发生的开发者。想知道延迟会对网络代码造成什么影响的游戏开发者。以及所有被问过“应用在弱网下能用吗”,却没有可靠方法去验证的人。

如何完成某件具体的事

简短的指南,每篇都给出值得尝试的数值和对应的命令。

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

下载 Windows 版