好消息:几分钟搞定
坏消息:chatgpt帮我写的,再帮我注释
使用方法:保存以下代码到本地 “netdrop.sh”
执行 bash netdrop.sh ethx 命令,ethx为你查看的接口
#!/bin/bash
# 使用方式 bash netdrop.sh ethx
# ethx为你的接口名
#输出内容为总的丢包数,括号里面是每秒的增量丢包
prev=0
while true
do
dropped=$(ifconfig $1 | grep RX | grep dropped | awk '{print $5}')
# 使用 ifconfig 命令获取指定网卡接口 $1 的 dropped 字段的数值,并将其保存到变量 dropped 中
# grep 命令用于过滤 ifconfig 命令输出,只保留包含 'RX' 和 'dropped' 字符串的行
# awk 命令用于提取 grep 命令输出中的第五个字段,即 dropped 字段的数值
diff=$((dropped - prev))
# 计算变量 dropped 和 prev 之间的差值,并将结果保存到变量 diff 中
echo "Total dropped packets: $dropped (increase: $diff)"
# 输出 dropped 数量和增量 diff
prev=$dropped
# 将变量 prev 更新为当前 dropped 数量,以便在下一次循环中计算 dropped 的增量
sleep 1
# 延迟 1 秒钟,然后继续下一次循环
done