Linux

介面收發報文數

  • December 7, 2018

我有興趣創建一個腳本,該腳本在介面上列印接收到的數據包總數和發送的數據包。輸出應該是這樣的:

interface
TX: number
RX: number

任何人都可以幫助我嗎?

eth0您可以通過執行以下命令來計算接收和傳輸的數據包數量:

cat /sys/class/net/eth0/statistics/rx_packets
cat /sys/class/net/eth0/statistics/tx_packets

然後,您可以使用此事實編寫簡單的 shell 腳本,該腳本將每秒輪詢這些文件,然後計算並輸出 PPS 值(每秒數據包數)。

我在使用**/sys/class/net**統計資訊的統計資訊中看到了一些未命中的匹配項,並且與

   ifconfig <interface>

(因為它正在從該文件中讀取統計資訊,我認為)。使用上述計數器的一些工具是nloadvnstat

我看到的正確統計數據來自

   ethtool -S <interface> | grep -E 'rx_packets|tx_packets|rx_bytes|tx_bytes'

引用自:https://unix.stackexchange.com/questions/174116