특정 이더넷 통계 얻기

특정 이더넷 통계 얻기

rx_broadcast이것으로부터 가치를 얻을 수 있는 방법이 있나요 /sys/class/net/<intf>/..?

이더넷 통계를 얻기 ETHTOOL_GSTATS위해 다음 명령을 사용하고 있지만 값을 읽는 일부 스크립트에 관심이 있습니다.SIOCETHTOOLIOCTL/sys/class/net

찾아봤지만 /sys/class/net/...항목을 찾을 수 없습니다.

답변1

/sys/class/net//..에서 rx_broadcast 값을 얻는 방법이 있나요?

아니, 말대로 https://www.kernel.org/doc/html/latest/networking/statistics.html:

sysfs의 각 장치 디렉토리에는 struct rtnl_link_stats64의 멤버에 해당하는 파일이 포함된 통계 디렉토리(예: /sys/class/net/lo/statistics/)가 포함되어 있습니다.

그리고 rtnl_link_stats64대표 필드가 없습니다 rx_broadcast.

ethtool"유지 관리"라는 즉시 사용 가능한 도구가 있습니다.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.

관련 정보