模拟网络丢包
Linux
模拟延迟
tc qdisc add dev eth0 root netem delay 1000ms 100ms 50%
delay后面的3个参数,第一个就是设定固定的延迟时间,第二个是说延迟时间在±100ms波动,第三个是说这个延迟波动的几率是50%
模拟丢包
tc qdisc add dev eth0 root netem loss 8% 30%
第一个参数是丢包率
模拟重复包
tc qdisc add dev eth0 root netem duplicate 5%
意思就是随机产生5%的重复包
模拟错误包
tc qdisc add dev eth0 root netem corrupt 5%
随机产生5%的错误数据包
模拟乱序包
tc qdisc add dev eth0 root netem delay 10ms reorder 25% 50%
25%的包(50%的关联度)会被立即发送,其他包都延迟10ms之后才发送。
Windows-WIPFW
安装
到这个网址下载 http://sourceforge.net/projects/wipfw/files/
下载后解压,按照安装包中的readme文件安装即可
使用
5%的几率随机丢掉引入的包:
ipfw add prob 0.05 deny ip from any to any in
如果我们想限制从本地192.168.2.0/24客户端通信:
ipfw add pipe 1 ip from 192.168.2.0/24 to any out
ipfw pipe 1 config bw 300Kbit/s queue 50KBytes
通讯中的延迟。这个可以影响非常多的关于远端程序调用的应用:
ipfw add pipe 1 ip from any to any out
ipfw add pipe 2 ip from any to any in
ipfw pipe 1 config delay 250ms bw 1Mbit/s
ipfw pipe 2 config delay 250ms bw 1Mbit/s