![Linux 网络接口广播统计](https://linux22.com/image/614492/Linux%20%E7%BD%91%E7%BB%9C%E6%8E%A5%E5%8F%A3%E5%B9%BF%E6%92%AD%E7%BB%9F%E8%AE%A1.png)
我正在寻找一种方法来查看网络接口发送/接收的以太网广播帧的数量。
我熟悉许多 Linux 命令、过程和选项以获取接口统计信息(ifconfig、nstat(显示 ip 广播)、/proc/net/dev、ifstat 等...)。
例如,/proc/net/dev 显示接收到的多播,但没有广播的参考。
有没有标准的方法来查看它?
答案1
你可以试试ethtool
:
ethtool -S <NIC name>
但并非所有驱动程序都支持统计,请阅读 ethtool 的手册页以了解更多详细信息。
更新
解决方案是查看/proc/net/netstat
,但它不是人类可读的。使用一些awk
来操作它:
cat /proc/net/netstat | \
awk '(f==0) { i=1; while ( i<NF) {n[i] = $i; i++ }; f=1; next} \
(f==1){ i=1; while ( i<NF){ printf "%s = %d\n", n[i], $i; i++}; f=0}' | \
grep Bcast
我的机器上的输出:
InBcastPkts = 171
OutBcastPkts = 17
InBcastOctets = 11856