Linux
介面收發報文數
我有興趣創建一個腳本,該腳本在介面上列印接收到的數據包總數和發送的數據包。輸出應該是這樣的:
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>
(因為它正在從該文件中讀取統計資訊,我認為)。使用上述計數器的一些工具是
nload
和vnstat
。我看到的正確統計數據來自
ethtool -S <interface> | grep -E 'rx_packets|tx_packets|rx_bytes|tx_bytes'