模拟恶劣的网络环境
下面小编就把今天get到的新技能分享给大家吧。来我们开始。
首先我们先介绍一下我们要使用的工具。
网络模拟器WANem
WANem简介
由于公司在一些场合需要模拟真实的网络环境,如时延,丢包,抖动等,虽然使用Linux下的TC也可以实现该功能,但是TC有着命令行界面不利于配置,使用桥接模式时不便于远程管理的缺陷,所以本着分享的精神,现在向大家推荐一款网络模拟工具——WANem。WANem全名为WAN emulator,是一个基于开源广域网络模拟器,其也是基于TC的,其主要功能如下:
- 可以用来在局域网模拟广域网,包括带宽、时延、丢包、抖动
- 高级功能有:随机复位连接、按概率发重复包、按概率使包乱序和按概率瞬时断开网络,按协议随机断开连接等,而且可以针对不同的协议,不同的主机,不同的网络甚至是不同的应用程序来模拟。
其优点如下:
- WANem在单网卡设备上即可实现所有功能
- WANem支持从光盘启动,不需要将它安装到硬盘也可使用,甚至可以运行于虚拟机上,此时桥接主机的网卡即可使用,非常方便
- 支持完全图形化的界面配置,方便设置
- 可以设置多条规则,不同规则不同用户使用互不干扰,方便用于集中式的测试环境
- 仅需要调整路由表即可应用设置的规则
下载地址:点击打开链接
我才用的是使用VMware Workstation来虚拟一个。这个很简单我就不介绍。
虚拟好了之后就是下面的样子。
点击红框内的选项卡即可进行网络设置。
其实这个和linux的操作习惯很相似。也可以在sehll脚本中修改。
我们点击左下角的打开左下角的LXTerminal终端模拟器即可
输入exit2shell
是不是和linux很像呢。
我们给他设置一个IP地址。
设置IP地址:ifconfig eth0 192.168.8.122 netmask 255.255.255.0
这种修改方式会立即生效,但重启以后失效
下面我们要在物理机*问WANem主界面并进行配置。
我们在浏览器输入:http://192.168.8.122/WANem/
注意这严格区分大小写
WANem配置
About:关于
WANalyer:广域网学习工具,通过学习到目标主机的丢包,时延,抖动,自动模拟该网络环境
Basic Mode:基本模式,只能设置带宽和时延
Advanced Mode:高级模式,可以设置复杂的网络规则,比如基于不同接口,不同主机,不同网段,甚至是不同应用程序的规则等
Save/Restore:备份和恢复数据
我们不说,今天只了解一下 Advanced Mode 以及配置等
红框内是选择网卡
配置界面
参数对照
Delay:延迟
Delay time代表延迟的时间Jitter代表抖动的大小
Correlation代表抖动的大小的浮动范围
Loss:
Loss(%)丢包比例
Correlation丢包比例浮动范围
Packet Reordering:乱序
Corruption:数据包损坏
IP source address:源地址
IP source subnet:源地址掩码
IP dest address:目的地址
IP dest subnet:目的地址掩码
Apply settings:应用设置。
下面我们只以网络延迟为例子:
我们的目的实现了。这个是我们实现了本机与WANem的延迟,下面我们在用WANem来当一个代理服务器。
网络拓扑图示:
我们客户端与服务端之间加一个代理就好了代理就是WANem
下面我们给客户端添加一条路由就好了。
route add 192.168.8.211 mask 255.255.255.255 192.168.8.122
这样加就可以了
这里注意路由一定要双向配置,这里需要有一点网络的知识。
192.168.8.211是目的IP地址
255.255.255.255子网掩码
192.168.8.122下一跳地址
我们想要的效果又达到了。哈哈 是不是很爽。