ifconfig RX/TX 전송 패킷이 주어지면 RX/TX 전송 바이트를 어떻게 얻습니까?

ifconfig RX/TX 전송 패킷이 주어지면 RX/TX 전송 바이트를 어떻게 얻습니까?

우분투를 실행 중입니다리눅스v18에서 내 네트워크 카드에 대해 생성된 정보는 다음과 같습니다 ifconfig.

$ ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.123  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::4a75:bbe4:742d:d77b  prefixlen 64  scopeid 0x20<link>
        ether b8:27:eb:55:c7:9f  txqueuelen 1000  (Ethernet)
        RX packets 2443063  bytes 868405621 (828.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2343559  bytes 1022562153 (975.1 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

일부 시스템(예: 라우터에 내장된 Linux)RX/TX 패킷만 보고, 그러나 RX/TX 바이트는 표시되지 않습니다.

Linux 운영 체제에 어떤 방법이 있습니까?주어진 RX/TX 패킷의 RX/TX 바이트를 가져옵니다.?

몇 가지 관련 질문은 다음과 같습니다.

  • 이 등가물은 항상 동일합니까(예: 1024 요소)?
  • 이 동등성은 런타임 시(동적으로) 변경됩니까?
  • 이는 동등한 OS에 따라 달라지나요? 아니면 네트워크 카드에 따라 달라질 수 있나요?
  • 이에 상응하는 것이 있습니까?

답변1

이에 상응하는 것은 없으며 패킷 크기는 내용에 따라 다릅니다. 최소 및 최대 크기만 얻을 수 있습니다. 예를 들어 이더넷 프레임은 72~1530옥텟(점보 프레임 무시)을 사용할 수 있습니다.N이더넷 인터페이스의 패킷은 72 ×를 나타냅니다.N그리고 1530×N전송된 바이트 수입니다.

ifconfig라우터의 명령은 바이트 수를 표시하지 않을 수 있지만 라우터가 Linux를 실행하는 경우 이러한 수는 다음과 같이 추적됩니다.모스비댓글을 달았으니 다음을 사용하여 볼 수 있어야 합니다.

ip -s link show eth0

또는

head /sys/class/net/eth0/statistics/*_bytes

관련 정보