如果不想搜集安装包,可以使用我分享的按照包,如下:

WANem_3.0_Beta百度网盘下载
链接:https://pan.baidu.com/s/1aMf5WBsfH7Mrl8iB2NjEYg 密码:xcy6

VMware-workstation-full-14.1.2-8497320百度网盘下载
链接:https://pan.baidu.com/s/1T_8beFWwms4y170sMxuURQ 密码:m4mf

如下内容来自https://blog.csdn.net/nanalinlinlin/article/details/56016316

一、WANem简介
官网:http://wanem.sourceforge.net/
由官网可知,WANem是开源软件,可用于模拟WAN特性,如网络延迟,丢包,数据包损坏,断开连接,数据包重排序,抖动等。从功能角度来看,WANem挂钩到Linux内核中,用于配置网络仿真特性,并用附加模块扩展功能。同时具有直观的Web界面以进行配置。
优点:安装简单,有装虚拟机经验的可以快速安装成功;
缺点:主要面向PC端,并不直接对网卡起作用,所以无法独立支持对移动端APP的测试(要想用于app测试,需要移动端做代理);并且需要手工配置路由表,较麻烦。
二、WANem安装
WANem直接从官网下载即可,此处我们用最新的3.0 Beta 2版本。官网介绍的使用方法是将iso文件刻录到CD,再从CD启动。这种方法较麻烦。我们使用另一种安装方式--通过虚拟机(VirtualBox)安装。
1. 解压下载的安装包,得到iso文件;
2. 在VirtualBox新建一个linux虚拟机,在设置中把iso文件挂载到存储->控制器IDE,并将网络连接方式设置为桥接网卡,选中对应的网卡,保存后直接启动虚拟机,就能直接启动进入设置界面,启动过程较缓慢,耐心等候即可。
启动成功页面:


功能简介:
About:关于WANem;
WANalyzer:广域网学习工具,可以根据输入IP学习到目标主机的丢包、时延、抖动,自动模拟该网络环境;
Basic Mode:基本模式,只能设置带宽和时延;
Advanced Mode:高级模式,可以设置复杂的网络规则;
Save/Restore:备份和恢复数据;
Remote Terminal:远程终端;
Help:帮助。
一般用高级设置页面来设置所需弱网规则,点击Advanced Mode,选中对应网卡后点击start,即能进入高级设置页面:


参数说明:
Packet Limit:用来设置包的队列大小,默认为1000,当队列超过1000时,超过的包将被丢弃
Symmetrical network:对称网络,选中为Yes的时候,应用网络的规则将在数据包来回的方向上都生效
Choose BW:从快速列表选择带宽
Specify BW:自定义带宽
Delay:延时,这里设置的是单向的延时;Jitter:抖动;Correlation:相关性,用来设置这个包的延迟时间与上一个包的时间的相关度
Loss:丢包率;Correlation:相关性,以一定的概率发生突发的大量的丢包,但平均丢包率不会超过Loss定义的值
Duplication:重包率,以一定概率生成某个包的多份拷贝,并按随机时间到达目标端;Correlation:相关性,类似Loss的
Packet reordering:包重排序率,按概率将包的顺序打乱,gap用来确定包重排序的个数,不设置更接近真实的环境
Corruption:错包率,按概率产生噪音,即格式错误的包
Idle timer Disconnect:空闲断开定时器,当网络空闲时,按设定的时间对Type定义的协议断开连接。
Random Disconnect:按Type随机断开,MTTF,平均失效前时间,用Low和High定义两个极值,MTTF,平均恢复前时间
IP source address:匹配的源IP地址
IP source subnet:源IP地址的子网
IP dest address:匹配的目标IP地址
IP dest subnet:匹配的目标IP地址的子网
Add a rule set:添加一条规则
Apply settings:应用设置
三、测试机配置
以上安装完WANem后,还需配置测试机的路由表,使测试机路由到WANem。
笔者测试机是win10 64位,配置方法:
1. 右击开始菜单,找到命令提示符(管理员),点击打开,即以管理员身份打开dos窗口;
2. 敲入命令删除默认路由: route delete 0.0.0.0
3. 添加一条默认路由指向WANem:route add 0.0.0.0 mask 0.0.0.0 192.168.3.54
说明:上面192.168.3.54是WANem的IP地址,需改为你真实的IP,可通过WANem控制台看到


如果发现没有获取到IP,应该是虚拟机配置不正确,记得在网络配置中设置为桥接网卡,并选中对应的网卡。
这样PC上所有发向不同网段的流量均会应用到上面定的网络规则。
如果要使测试机向指定主机发送的数据应用规则,例如向主机192.168.3.51,则使用route add 192.168.3.51 mask255.255.255.0 192.168.3.54 同样,主机IP和mask要改为真实主机IP和mask。
设好路由后,在WANem高级配置页面设置弱网规则,即完成了弱网环境的搭建。规则启动后可以ping一下主机查看效果。
更多可参考:http://blog.163.com/hlz_2599/blog/static/142378474201341342720443/
需注意的是,至此只是完成了在PC弱网络环境的模拟,如要测试app,还需将手机网络代理到设置弱网的PC上,才能达到目的。笔者进行APP弱网测试采用的是WANem弱网模拟+Fiddler代理手机网络。Fiddler具体代理设置相对简单,自行百度即可~

结束语:

设置好以后可以尝试ping该虚拟机,然后将其他适配代理到本地fiddler,这样就实现弱网的快捷配置。

弱网测试之基于fiddler+wanem完成的更多相关文章

  1. 弱网测试之基于TP-LINK

    使用路由器做弱网测试应该是最真实的,网络工程师/运维工程师体会应该最深刻.这种方式测试成本也不高,比较推荐. 设置的方式不在赘述,参见使用手册,高级设置即可. 结束语: 这样测试的时候,测试机器连接该 ...

  2. 弱网测试--使用fiddler进行弱网测试

    弱网测试原理以及方法(一) 一.为什么要进行弱网测试? 按照移动特性,各种网络连接协议不同,导致通信的信号不同,速率也不同,影响应用的加载时间.可用性.稳定性 二.什么样的网络属于弱网? 低于2g速率 ...

  3. 弱网测试之Fidder

    是用Fidder可以模拟若罔测试. 1.Fiider设置 fiddler中选中Rules->Cutomize Rules,在文件中搜索关键字:m_SimulateModem: 修改m_Simul ...

  4. Fiddler如何模拟弱网环境进行测试

    1.模拟弱网环境 打开Fiddler,Rules->Performance->勾选 Simulate Modem Speeds,勾选之后访问网站会发现网络慢了很多 2.Fiddler弱网的 ...

  5. APP手工项目02-用例编写-测试报告-fiddler弱网测试

    回顾 APP专项测试(兼容性,安装,卸载,升级,交叉事件,PUSH消息,性能,其他类型) 项目环境(开发环境,测试环境,准生产环境,生产环境) APP内测发布平台(蒲公英,fir.im)支持apk,i ...

  6. fiddler模拟弱网操作

    弱网是app测试需要覆盖的一种场景 目录 1.认识弱网 2.fiddler模拟弱网配置 3.弱网下可能发生的问题 1.认识弱网 弱网.2G.3G建议的上下行速率如下,同时还可以控制丢包率的数据 网络 ...

  7. Fiddler实战之使用Fiddler模拟弱网环境(限速)

    1.模拟弱网环境 打开Fiddler,Rules->Performance->勾选 Simulate Modem Speeds,勾选之后访问网站会发现网络慢了很多 2.Fiddler弱网的 ...

  8. 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(15)-Fiddler弱网测试,知否知否,应是必知必会

    1.简介 现在这个时代已经属于流量时代,用户对于App或者小程序之类的操作界面的数据和交互的要求也越来越高.对于测试人员弱网测试也是需要考验自己专业技术能力的一种技能.一个合格的测试人员,需要额外关注 ...

  9. fiddler模拟弱网测试点

    弱网: oSession[“request-trickle-delay”] = “300”; 注释的也很明白,Delay sends by 300ms per KB uploaded.上传1KB需要3 ...

随机推荐

  1. Java如何获取URL连接的日期?

    Java编程中,如何获取URL连接的日期? 以下示例演示如何使用HttpURLConnection类的httpCon.getDate()方法获取URL连接的日期. package com.yiibai ...

  2. JPA 不生成外键

    在用jpa这种orm框架时,有时我们实体对象存在关联关系,但实际的业务场景可能不需要用jpa来控制数据库创建数据表之间的关联约束,这时我们就需要消除掉数据库表与表之间的外键关联.但jpa在处理建立外键 ...

  3. glob通配符

    描述glob是shell使用的路径匹配符,类似于正则表达式,但是与正则表达式不完全相同.在linux操作中如文件匹配等等其实已经使用了glob通配符.由于其在路径匹配方面的强大,其他语言也有相应的实现 ...

  4. [Stats385] Lecture 04: Convnets from Probabilistic Perspective

    本篇围绕“深度渲染混合模型”展开. Lecture slices Lecture video Reading list A Probabilistic Framework for Deep Learn ...

  5. [DLX精确覆盖] hdu 1603 A Puzzling Problem

    题意: 给你n块碎片,这些碎片不能旋转.翻折. 问你能不能用当中的某些块拼出4*4的正方形. 思路: 精确覆盖裸题了 建图就是看看每一个碎片在4*4中能放哪些位置,这个就作为行. 列就是4*4=16个 ...

  6. Android UI布局之RelativeLayout

    RelativeLayout是一个相对布局类. 首先RelativeLayout是一个容器,它里边的元素,如Buttonbutton等的位置是依照相对位置来计算的,比如,有两个Buttonbutton ...

  7. ios 消除 字符串 首尾空格

    本文转载至 http://blog.csdn.net/reylen/article/details/8233353 (1)系统去首尾空格方法,使用NSString中的str = [str string ...

  8. Python2.7字符编码详解

    目录 Python2.7字符编码详解 声明 一. 字符编码基础 1.1 抽象字符清单(ACR) 1.2 已编码字符集(CCS) 1.3 字符编码格式(CEF) 1.3.1 ASCII(初创) 1.3. ...

  9. Android性能测试--内存

    前言: 近阶段都在探索android性能测试方面的东西,其中一个很重要的指标就是内存.对于内存,主要是一些gc是不是及时,或者说一些引用有没有及时释放,有没有导致oom或者内存持续增加导致卡顿,有没有 ...

  10. nohup 同时实现记录日志和屏幕输出

    nohup   nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令.该命令可以在你退出帐户/关闭终端之后继续运行相应的进程.nohup就是不挂断 ...