Fork me on GitHub
随笔 - 215  文章 - 13  trackbacks - 0
<2010年2月>
31123456
78910111213
14151617181920
21222324252627
28123456
78910111213


专注即时通讯及网游服务端编程
------------------------------------
Openresty 官方模块
Openresty 标准模块(Opm)
Openresty 三方模块
------------------------------------
本博收藏大部分文章为转载,并在文章开头给出了原文出处,如有再转,敬请保留相关信息,这是大家对原创作者劳动成果的自觉尊重!!如为您带来不便,请于本博下留言,谢谢配合。

常用链接

留言簿(1)

随笔分类

随笔档案

相册

Awesome

Blog

Book

GitHub

Link

搜索

  •  

积分与排名

  • 积分 - 204265
  • 排名 - 127

最新评论

阅读排行榜

http://www.cppblog.com/kenkao/archive/2016/12/15/214489.html
http://blog.csdn.net/sb___itfk/article/details/45250771
http://www.cnblogs.com/findyou/p/3491014.html

我们可以使用一台window客户机充当代理服务器,并针对该设备设置一系列网络限制,从而达到虚拟服务器弱网络环境的目的。
1. 设置Fiddler

打开Fiddler, Tools-> Fiddler Options (配置完后记得要重启Fiddler)

选中"Decrpt HTTPS traffic", Fiddler就可以截获HTTPS请求

选中"Allow remote computers to connect". 是允许别的机器把HTTP/HTTPS请求发送到Fiddler上来


记住这个端口号是:8888

2. 设置Android手机

首先获取PC的ip地址:命令行中输入:ipconfig,获取ip地址


好吧,这时候我就拿到了IP地址和端口号了

下面来对Android手机进行代理设置


3. 下载Fiddler的安全证书

使用Android手机的浏览器打开:http://10.20.100.159:8888, 点"FiddlerRoot certificate" 然后安装证书

安装完成后,就可以在fiddler上看到手机的HTTP请求


clumsy 0.2模拟网速

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 提供的功能来有目的性的调整网络情况:

  1. 延迟(Lag),把数据包缓存一段时间后再发出,这样能够模拟网络延迟的状况。
  2. 掉包(Drop),随机丢弃一些数据。
  3. 节流(Throttle),把一小段时间内的数据拦截下来后再在之后的同一时间一同发出去。
  4. 重发(Duplicate),随机复制一些数据并与其本身一同发送。
  5. 乱序(Out of order),打乱数据包发送的顺序。
  6. 篡改(Tamper),随机修改小部分的包裹内容。

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

项目的代码可以在github上获取。在下载页面有编译好的版本。强烈建议在使用前花点时间阅读一下文档,来 了解 clumsy 的功能和限制。
filter需要勾选all sending packets

posted on 2017-02-04 13:38 思月行云 阅读(2012) 评论(0)  编辑 收藏 引用 所属分类: 服务器\Ops

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理