Clumsy主要是利用封装 Winodws Filtering Platform 的WinDivert 库,从而实时的将系统接收和发出的网络数据包拦截下来,人工的造成延迟,掉包和篡改操作后再进行发送。无论你是要重现网络异常造成的程序错误,还是评估你的应用程序在不良网络状况下的表现,clumsy 都能让你在不需要额外添加代码的情况下,在系统层次帮你达到想要的效果,非常的实用!
Clumsy软件特色
1、下载即用,不需要安装任何东西。
2、不需要额外设置,不需要修改你的程序的代码。
3、系统级别的网络控制,可以适用于命令行,图形界面等任何 Windows 应用程序。
4、不仅仅只支持 HTTP,任何 TCP, UDP 的网络连接都可以被处理。
5、支持本地调试(服务器和客户端都在 localhost)
6、"热插拔",你的程序可以一直运行,而 clumsy 可以随时开启和关闭。
7、实时调节各种参数,详细控制网络情况。
使用说明
1、根据你系统的版本(32位或64位)下载 clumsy 最新版本。软件需要管理员权限才能正常工作。双击打开 clumsy 的话会弹出 UAC 对话框。如果没有的话请右键点击 clumsy.exe 选择“以管理员身份运行”。
2、当你输入了 filter 点击 ‘开始’ 后,clumsy 就已经开始截获包裹。这个一定会有一定的效率损失。但好消息是 clumsy 本身就是为了模拟网络状况糟糕的软件所以这个问题不是很严重。 另一方面,你应该精确的设置 filter 的内容,让它尽可能准确的捕捉你感兴趣的数据包。
延迟比在 Lag 里设置的要严重很多。
这个问题的重点在于,clumsy 里面的设置并不是准确的可以用来做测速的值。其作用更倾向于作为参数控制软件的行为。 另一个需要理解的是,这里的延迟是作用于每一个网络包裹的。比如建立一个 TCP 连接需要至少 3 个包裹。那么如果 clumsy 引入了 20ms 的延迟,对于每一个TCP 连接则至少引入了 3*20=60ms 的延迟。如果是要载入一个网页的话,有部分 HTTP 请求必须是要按顺序完成后页面才能开始渲染。假如要完成 1, 2, 3 这三个请求,那么 clumsy 在这里至少引入了 3*60=180ms 的延迟。 所以说如果 clumsy 让网络变的很慢的话也不用太担心。