适合嵌入式Linux的网络测试工具(可模拟阻塞,丢包)

求一款开源的网络测试工具,可以进行简单的网络阻塞和丢包模拟,依赖小,能够交叉编译到嵌入式Linux下。求大神给点推荐,万分感谢!

linux2.4以上版本的内核中自带了有netem(net emulation)模块和tc(traffic contrl)模块,前者用于网络仿真,后者用于流量整形控制,都是通过tc命令进行配置

作用:

在性能良好的局域网中,模拟出复杂的互联网传输性能,诸如低带宽、传输延迟、丢包等等情况

丢包
tc qdisc add dev eth0 root netem loss 10%

延迟
tc qdisc add dev eth0 root netem latency 100ms

丢包+延迟
tc qdisc add dev eth0 root netem latency 100ms loss 10%

清除配置
tc qdisc del dev eth0 root

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
————————————————
版权声明:本文为CSDN博主「上官云洛1992」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接: