http://blog.youkuaiyun.com/hackxiaof/article/details/52160275
linux下模拟丢包,延时命令总结:
首先通过ifconfig命令
1.设置延时
延时:sudo tc qdisc add dev eth0 root netem delay 30ms
范围内延时(10-50ms):sudo tc qdisc add dev eth0 root netem delay 30ms 20ms
设置延时30ms,并大约20%包会延迟±10ms 发送 sudo tc qdisc add dev eth0 root netem delay 30ms 20ms 20%
显示延时的设置 : sudo tc qdisc show
修改延时:sudo tc qdisc change dev eth0 root netem delay 40ms
删除延时:sudo tc qdisc del dev eth0 root netem delay 40ms
2.设置丢包
丢包:sudo tc qdisc add dev eth0 root netem loss 10%
随机丢掉10%的数据包,成功率为20%:sudo tc qdisc add dev eth0 root netem loss 10% 20%
删除丢包:sudo tc qdisc del dev eth0 root netem loss 10%
3.模拟包重复
随机产生1%的重复数据包 :sudo tc qdisc add dev eth0 root netem duplicate 1%
4.数据包损坏
随机产生 0.2% 的损坏的数据包: sudo tc qdisc add dev eth0 root netem corrupt 0.2%
5.数据包乱序
有25%的数据包(50%相关)会被立即发送,其他的延迟10秒 : sudo tc qdisc change dev eth0 root netem delay 10ms reorder 25% 50%
6.产看已经配置的网络条件
sudo tc qdisc show dev eth0
7.删除tc规则
sudo tc qdisc del dev eth0 root