获取特定的以太网统计数据

获取特定的以太网统计数据

有什么办法可以rx_broadcast从中获取价值吗/sys/class/net/<intf>/..

我正在使用以下命令ETHTOOL_GSTATSSIOCETHTOOL获取IOCTL以太网统计信息,但我对一些读取值的脚本感兴趣/sys/class/net

我查看了/sys/class/net/...,但找不到任何条目。

答案1

有没有办法从 /sys/class/net//.. 获取 rx_broadcast 值?

不,正如它所说 https://www.kernel.org/doc/html/latest/networking/statistics.html:

sysfs 中的每个设备目录都包含一个统计目录(例如 /sys/class/net/lo/statistics/),其中包含与 struct rtnl_link_stats64 成员相对应的文件。

并且rtnl_link_stats64没有代表 的字段 rx_broadcast

ethtool请注意,有一个名为“ maintained”的现成可用工具https://git.kernel.org/pub/scm/network/ethtool/ethtool.git您可以在脚本中使用:

$ ethtool -S eth0 | grep rx_broadcast
     rx_broadcast: 48728

如果您不想向系统添加新程序或编写使用的 C 程序,则ioctl()必须使用系统上可用且内置 ioctl 支持的另一种脚本语言,例如Python 中的 ethtool -S

相关内容