17网站一起做网店怎么拿货/长沙网络推广网站制作
【网络通信 -- 直播】项目实战记录 -- 弱网模拟工具
【1】Windows 系统中弱网模拟工具
Windows 系统中可以使用 Clumsy 工具模拟弱网环境
- Lag(延迟),把数据包缓存一段时间后再发出,从而模拟网络延迟状况
- Drop(丢包),随机丢弃一些数据
- Throttle(截流),把一小段时间内的数据拦截下来后再在之后的同一时间一起发出去
- Duplicate(重发),随机复制一些数据并与其本身一同发送
- Out of order(乱序),打乱数据包发送的顺序
- Tamper(篡改),随机修改小部分的包裹内容
- Bandwidth(带宽),限定网络带宽大小
【2】Linux 系统中的弱网模拟
- 网络延迟模拟
tc qdisc add dev eth0 root netem delay 100ms
# 该命令将 eth0 网卡的传输设置为延迟 100 毫秒发送tc qdisc add dev eth0 root netem delay 100ms 10ms
# 该命令将 eth0 网卡的传输设置为延迟 100ms ± 10ms (90 ~ 110 ms 之间的任意值) 发送tc qdisc add dev eth0 root netem delay 100ms 10ms 30%
# 该命令将 eth0 网卡的传输设置为 100ms, 同时, 大约有 30% 的包会延迟 ± 10ms 发送
- 网络丢包模拟
tc qdisc add dev eth0 root netem loss 1%
# 该命令将 eth0 网卡的传输设置为随机丢掉 1% 的数据包tc qdisc add dev eth0 root netem loss 1% 30%
# 该命令将 eth0 网卡的传输设置为随机丢掉 1% 的数据包, 成功率为 30%
- 网络数据包重复模拟
tc qdisc add dev eth0 root netem duplicate 1%
# 该命令将 eth0 网卡的传输设置为随机产生 1% 的重复数据包
- 网络数据包损坏模拟
tc qdisc add dev eth0 root netem corrupt 0.2%
# 该命令将 eth0 网卡的传输设置为随机产生 0.2% 的损坏的数据包 (内核版本需在 2.6.16 以上)
- 网络数据包乱序模拟
tc qdisc change dev eth0 root netem delay 10ms reorder 25% 50%
# 该命令将 eth0 网卡的传输设置为,有 25% 的数据包 (50% 相关) 会被立即发送
# 其他的延迟 10 毫秒
- 查看已经配置的网络模拟条件
tc qdisc show dev eth0
# 该命令将 查看并显示 eth0 网卡的相关传输配置
- 删除相关网络模拟条件
tc qdisc del dev eth0 root netem #自己加的配置
# 该命令将 删除 eth0 网卡的相关传输配置
【3】Linux 系统中带宽限制工具 -- WonderShaper
WonderShaper 是用来对特定网卡进行快速限速的工具,它实际是对 Linux 的 tc 命令进行封装后的 shell 脚本;
安装 WonderShaper
直接拉取 wondershaper 即可使用git clone https://github.com/magnific0/wondershaper.git
使用 WonderShaper
USAGE: ./wondershaper [-hcs] [-a <adapter>] [-d <rate>] [-u <rate>]Limit the bandwidth of an adapterOPTIONS:-h Show this message [显示帮助信息]-a <adapter> Set the adapter [设置网卡]-d <rate> Set maximum download rate (in Kbps) and/or [设置下载速度(Kpbs)]-u <rate> Set maximum upload rate (in Kbps) [设置上传速度(Kpbs)]-p Use presets in "/etc/systemd/wondershaper.conf"-f <file> Use alternative preset file-c Clear the limits from adapter [清除指定网卡的规则,即取消限速]-s Show the current status of adapter [显示当前网卡的状态]-v Show the current version [显示当前版本信息]Configure HIPRIODST in "/etc/systemd/wondershaper.conf" for hostsrequiring high priority i.e. in case ssh uses dport 443.MODES:wondershaper -a <adapter> -d <rate> -u <rate>wondershaper -c -a <adapter>wondershaper -s -a <adapter>EXAMPLES:wondershaper -a eth0 -d 1024 -u 512[设置网卡 eth0 的上行速度为 512kbps,下行速度为 1024 kbps]wondershaper -a eth0 -u 512 [只设置上行速度为 512 kbps]wondershaper -c -a eth0 [清除网卡 eth0 的规则]wondershaper -p -f foo.conf [设置指定的配置文件]
网络带宽与网速的单位转换
1KB/s = 8Kbps = 8Kb/s
比如一般 100M 的宽带,实际是 100Mbps = (100/8) MB/s = 12.5 MB/s
使用示例
设置网卡下行 2048kbps = 2Mbit/s(2M 带宽), 上行 1024kbps = 1Mbit/s(1M 带宽)
sudo ./wondershaper -a ens33 -d 2048 -u 1024清除网卡上的规则
sudo ./wondershaper -c -a ens33查看网卡状态
sudo ./wondershaper -s -a ens33
参考与致谢
本博客为博主的学习实践总结,并参考了众多博主的博文,在此表示感谢,博主若有不足之处,请批评指正。
【1】Clumsy -- Windows 系统下的弱网模拟工具
【2】模拟弱网环境测试——工具篇
【3】linux下使用TC模拟弱网络环境
【4】linux tc模拟弱网环境(丢包)
【5】网卡限速工具之WonderShaper