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

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

우분투를 실행 중입니다리눅스ifconfigv18이며 내 NIC에 대해 산출되는 정보는 다음과 같습니다 .

$ 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 요소)?
  • 이 동등성은 실행 중에 변경됩니까(동적)?
  • 이 동등한 운영 체제는 종속적입니까? 아니면 NIC에 의존할까요?
  • 전혀 동등한 것이 있습니까?

답변1

동등성은 없으며 패킷의 내용에 따라 크기가 다릅니다. 최소 및 최대 크기만 얻을 수 있습니다. 예를 들어, 이더넷 프레임은 72~1530옥텟(점보 프레임 무시)을 차지할 수 있으므로N이더넷 인터페이스의 패킷은 72 ×N그리고 1530 ×N전송된 바이트.

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

ip -s link show eth0

또는

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

관련 정보