网络异常测试
tc命令,模拟网络异常可通过以下命令,其中eth0可根据自己的网卡设备号进行替换:
1. 网络延迟
tc qdisc add dev eth0 rootnetem delay 100ms
该命令将 eth0 网卡的传输设置为延迟 100 毫秒发送。
模拟更真实的情况,延迟值可能会有一定的波动性,可以使用以下命令来模拟
tc qdisc add dev eth0 root netem delay 100ms 10ms
该命令将 eth0 网卡的传输设置为延迟 100ms ± 10ms (90 ~ 110 ms 之间的任意值)发送
2. 网络丢包
tc qdisc add dev eth0 root netem loss 1%
该命令将 eth0 网卡的传输设置为随机丢掉 1% 的数据包。
3. 数据包重复
tc qdisc add dev eth0 root netem duplicate 1%
该命令将 eth0 网卡的传输设置为随机产生 1% 的重复数据包 。
4. 数据包损坏
tc qdisc add dev eth0 root netem corrupt 0.2%
该命令将 eth0 网卡的传输设置为随机产生 0.2% 的损坏的数据包 。
5. 数据包乱序
tc qdisc change dev eth0 root netem delay 10ms reorder 25% 50%
该命令将 eth0 网卡的传输设置为:有 25% 的数据包(50%相关)会被立即发送,其他的延迟10 秒。
查看已经配置的网络条件
tc qdisc show dev eth0
如果需要删除已配置的条件,则将以上命令中的add更改为del即可。
当然iptables还是可以模拟丢包,很多人说tc用起来更方便,但是tc是基于网卡的操作,而iptables是可以基于指定的ip进行丢包处理,这无非是使用虚机的小伙伴们的福音啦~
参考:
https://blog.csdn.net/wuxiaobingandbob/article/details/72765633
iptables
https://blog.csdn.net/sheldon761642718/article/details/54602864