ifconfig RX/TX 送信パケットが指定されている場合、RX/TX 送信バイトを取得するにはどうすればよいでしょうか?

ifconfig RX/TX 送信パケットが指定されている場合、RX/TX 送信バイトを取得するにはどうすればよいでしょうか?

私はUbuntuを実行していますリナックス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オクテット(ジャンボフレームは除く)を占めるため、イーサネットインターフェース上のパケットは72×そして1530×送信されたバイト数。

ifconfigルーターのコマンドではバイト数は表示されないかもしれませんが、ルーターがLinuxを実行している場合は、それらのカウントが追跡されます。モスビーコメントすると、使用して見ることができるはずです

ip -s link show eth0

または

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

関連情報