当前位置:  软件>C/C++软件

差网络环境模拟工具 Clumsy

    来源:    发布时间:2015-02-22

    本文导语:  clumsy 能在 Windows 平台下人工造成不稳定的网络状况,方便你调试应用程序在极端网络状况下的表现。 简介 利用封装 Winodws Filtering Platform 的WinDivert 库, clumsy 能实时的将系统接收和发出的网络数据包拦截下来,人工的造成延迟...

clumsy 能在 Windows 平台下人工造成不稳定的网络状况,方便你调试应用程序在极端网络状况下的表现。

简介

利用封装 Winodws Filtering Platform 的WinDivert 库, clumsy 能实时的将系统接收和发出的网络数据包拦截下来,人工的造成延迟,掉包和篡改操作后再进行发送。无论你是要重现网络异常造成的程序错误,还是评估你的应用 程序在不良网络状况下的表现,clumsy 都能让你在不需要额外添加代码的情况下,在系统层次帮你达到想要的效果:

特色:        

  • 下载即用,不需要安装任何东西。

  • 不需要额外设置,不需要修改你的程序的代码。

  • 系统级别的网络控制,可以适用于命令行,图形界面等任何 Windows 应用程序。

  • 不仅仅只支持 HTTP,任何 TCP, UDP 的网络连接都可以被处理。

  • 支持本地调试(服务器和客户端都在 localhost)

  • "热插拔",你的程序可以一直运行,而 clumsy 可以随时开启和关闭。

  • 实时调节各种参数,详细控制网络情况。

实例

下面的动画展示了 clumsy 作用于一个本地的基于 netcat 的 UDP 服务器/客户端的情况。仔细观察你可以看到数据根据在 clumsy 的影响下产生了相应的变化。          

如果你基本知道了 clumsy 是干什么用的,不妨到下载页面选择适用于你系统的版本进行下载。

详细信息

clumsy 首先根据用户选择的 filter 来拦截指定的网络数据。在 filter 中可以设定你感兴趣的协议(tcp/udp),端口号,是接收还是发出的端口。你也可以通过简单的逻辑语句来进一步缩小范围。当 clumsy 被激活时,只有符合这些标准的网络数据会被进行处理,而你不感兴趣的数据仍然会由系统正常传输。

当被 filter 的网络数据包被拦截后,你可以选择 clumsy 提供的功能来有目的性的调整网络情况:

  • 延迟(Lag),把数据包缓存一段时间后再发出,这样能够模拟网络延迟的状况。

  • 掉包(Drop),随机丢弃一些数据。

  • 节流(Throttle),把一小段时间内的数据拦截下来后再在之后的同一时间一同发出去。

  • 重发(Duplicate),随机复制一些数据并与其本身一同发送。

  • 乱序(Out of order),打乱数据包发送的顺序。

  • 篡改(Tamper),随机修改小部分的包裹内容。

  • 尽管当前宽带网络连接十分普及,但网络传输其本身在本质上总不是稳定的。如果你的应用程序中没有应对各种情况的处理,那么有可能一个丢失的 UDP 包裹都会让你的程序崩溃。正确的调试这类行为            显然需要再代码结构上进行仔细的设计和处理,还会很花功夫。而且在某些封装紧密的开发环境(Unity3D 自带的网络库可能是一个例子)下会更麻烦。clumsy 以尽可能减轻程序员负担为目标,希望提供一个简单方便(但并不完美)的解决方案。


        
     
     

    您可能感兴趣的文章:

  • HTML网络开发环境 Quanta
  • linux环境进行网络编程的教材
  • PHP网络开发环境 Vertrigo
  • linux下网络编程环境配置问题
  • JAVA网络编程(socket),用什么工具开发?怎么配置环境?
  • 求教: 网络环境下,收到报文后socke的server端如何被唤醒?
  • 求Linux非窗口环境下网络编程资料。谢谢
  • 怎么在单机上安装SCO UNIX 5.05?(没有网络环境)
  • 怎样在图形环境中配置网络IP,DNS,GETWAY等。
  • Red Hat Linux 7.3中文版,KDE环境下如何配置网络,拨号上网?
  • 在redhat linux下如何配置unix 网络编程开发环境?
  • 各位大仙,推荐一下用什么环境或方法开发linux网络应用程序的客户端界面呢?
  • linux环境下网络编程
  • 开发linux下的c++程序需要什么开发环境 ,最好推荐本书------关于网络的编程
  • 请问各位高手:怎么在LINUX7.3的环境下设置网络共享,局域网?
  • 请问在linux的环境下如何监测某项程序是否在运行+如何监测网络可用?谢谢~
  • 谁用过jbuilder5的CVS(网络环境),请进。
  • 我是一位非计算机专业的研究生,想学习unix系统、网络管理员,并获得sun公司的认证证书,以后想从事unix环境下的开发工作,请各位指点一下,有没有可能?
  • UNIX环境网络编程的问题,迷茫~请有经验的高手指点~
  • Nmap-6.46发布(Nmap介绍及下载地址)-网络安全扫描工具
  • 大家有没有什么能看当前网络流量的工具,能象top一样列出当前的网络状况
  • 网络数据采集分析工具 TCPDUMP
  • 网络监控工具 Observium
  • 网络抓包工具 jpcap
  • 网络带宽测试工具 NetWorx
  • 网络认证破解工具 Ncrack
  • 网络参数设置工具 NetSetMan
  • 网络管理工具 PrimeDesktop
  • 网络安全审计工具 Nmap
  • 网络管理工具 Observer NMS
  • 综合网络设备管理工具 NetworkManagementCenter
  •  
    本站(WWW.169IT.COM)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.169IT.COM)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Docker、Kubernetes、Neutron中的网络简介
  • 怎么用dos命令配置登陆网络,随便什么网络,举例就行~
  • 基于python实现的网络爬虫功能:自动抓取网页介绍
  • 系统网络问题之网络配置
  • 分布式CAP理论介绍:一致性(Consistency),可用性(Availability),容忍网络分区(Partition tolerance)
  • 网络爬虫/网络蜘蛛 larbin
  • 应对 Docker 网络功能难题的挑战与思考
  • 如何将运行dos的机子联入网络,或在dos下使用网络硬盘
  • Android及andriod无线网络Wifi开发的几点注意事项
  • linux不用命令方式读文件获取网络流量,如何使用C函数调用获取网络流量信息?
  • centos6网络配置及网卡设置相关命令及配置文件
  • 用java做网络编程和用c做网络编程有啥区别
  • Docker扁平化网络设计与实现
  • 急,请问如何修改网络接口eth为其它名称,如网络接口为abc0, abc1,要修改哪个配置文件?
  • IOS开发之socket网络编程(基于SimpleNetworkStreams的c/s程序)
  • 如何打开SUN工作站进入网络管理系统和退出网络管理系统,并关机。
  • Docker 四种网络模式及网络配置详细介绍
  • 请问unix网络编程和linux网络有什么区别
  • andriod下java socket网络编程:java socket客户端服务端代码示例
  • 嵌入式网络编程与非嵌入式网络编程有什么不同
  • Ubuntu ADSL上网,网络信息查看及防火墙相关配置命令介绍
  • 32位网络程序转成64位网络程序带宽会增加吗?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2017,169IT.COM,E-mail:www_169it_com#163.com(请将#改为@)

    浙ICP备11055608号