導航:首頁 > 配伺服器 > linux伺服器如何查看網口流量

linux伺服器如何查看網口流量

發布時間:2024-07-26 22:10:21

⑴ 如何在linux下統計高速網路中的流量

在本文中我們介紹一種簡單的Shell 腳本,它可以監控網路流量而且不依賴於緩慢的libpcap庫。這些腳本支持Gb以上規模的高速網路介面,如果你對「匯聚型」的網路流量感興趣的話,它們可統計每個網路介面上的流量。


腳本主要是基於sysfs虛擬文件系統,這是由內核用來將設備或驅動相關的信息輸出到用戶空間的一種機制。網路介面的相關分析數據會通過「/sys/class/net/<ethX>/statistics」輸出。


舉個例子,eth0的網口上分析報告會輸出到這些文件中:


/sys/class/net/eth0/statistics/rx_packets: 收到的數據包數據

/sys/class/net/eth0/statistics/tx_packets: 傳輸的數據包數量

/sys/class/net/eth0/statistics/rx_bytes: 接收的位元組數

/sys/class/net/eth0/statistics/tx_bytes: 傳輸的位元組數

/sys/class/net/eth0/statistics/rx_dropped: 收包時丟棄的數據包

/sys/class/net/eth0/statistics/tx_dropped: 發包時丟棄的數據包

這些數據會根據內核數據發生變更的時候自動刷新。因此,你可以編寫一系列的腳本進行分析並計算流量統計。下面就是這樣的腳本(感謝 joemiller 提供)。第一個腳本是統計每秒數據量,包含接收(RX)或發送(TX)。而後面的則是一個描述網路傳輸中的接收(RX)發送(TX)帶寬。這些腳本中安裝不需要任何的工具。


測量網口每秒數據包:

⑵ 埠linux查看網口的命令

一、首先是最簡單明了的兩個命令, ifconfig和lspci。
ifconfig: 最常用的配置和查看網路介面信息的命令,伺服器上執行此命令會得到類下文的內容。
二、lspci |grep -i 'eth' 或 lspci | grep -i net命令:可列出每個pci匯流排上的設備,通過grep過濾後可得到網卡設備列表

⑶ 如何在Linux下統計高速網路中的流量

Linux下統計高速網路流量方法如下:

在Linux中有很多的流量監控工具,它們可以監控、分類網路流量,以花哨的圖形用戶界面提供實時流量分析報告。大多數這些工具(例如:ntopng,iftop )都是基於libpcap 庫的,這個函數庫是用來截取流經網卡的數據包的,可在用戶空間用來監視分析網路流量。盡管這些工具功能齊全,然而基於libpcap庫的流量監控工具無法處理高速(Gb以上)的網路介面,原因是由於在用戶空間做數據包截取的系統開銷過高所致。
在本文中我們介紹一種簡單的Shell 腳本,它可以監控網路流量而且不依賴於緩慢的libpcap庫。這些腳本支持Gb以上規模的高速網路介面,如果你對「匯聚型」的網路流量感興趣的話,它們可統計每個網路介面上的流量。
腳本主要是基於sysfs虛擬文件系統,這是由內核用來將設備或驅動相關的信息輸出到用戶空間的一種機制。網路介面的相關分析數據會通過「/sys/class/net/<ethX>/statistics」輸出。
舉個例子,eth0的網口上分析報告會輸出到這些文件中:
/sys/class/net/eth0/statistics/rx_packets: 收到的數據包數據
/sys/class/net/eth0/statistics/tx_packets: 傳輸的數據包數量
/sys/class/net/eth0/statistics/rx_bytes: 接收的位元組數
/sys/class/net/eth0/statistics/tx_bytes: 傳輸的位元組數
/sys/class/net/eth0/statistics/rx_dropped: 收包時丟棄的數據包
/sys/class/net/eth0/statistics/tx_dropped: 發包時丟棄的數據包
這些數據會根據內核數據發生變更的時候自動刷新。因此,你可以編寫一系列的腳本進行分析並計算流量統計。下面就是這樣的腳本(感謝 joemiller 提供)。第一個腳本是統計每秒數據量,包含接收(RX)或發送(TX)。而後面的則是一個描述網路傳輸中的接收(RX)發送(TX)帶寬。這些腳本中安裝不需要任何的工具。
測量網口每秒數據包:
#!/bin/bash

INTERVAL="1" #update interval in seconds

if [ -z "$1" ]; then
echo
echousage: $0 [network-interface]
echo
echoe.g. $0 eth0
echo
echoshows packets-per-second
exit
fi

IF=$1

while true
do
R1=`cat/sys/class/net/$1/statistics/rx_packets`
T1=`cat/sys/class/net/$1/statistics/tx_packets`
sleep$INTERVAL
R2=`cat/sys/class/net/$1/statistics/rx_packets`
T2=`cat/sys/class/net/$1/statistics/tx_packets`
TXPPS=`expr$T2 - $T1`
RXPPS=`expr$R2 - $R1`
echo"TX $1: $TXPPS pkts/s RX $1: $RXPPS pkts/s"
done

網路帶寬測量
#!/bin/bash

INTERVAL="1" #update interval in seconds

if [ -z"$1" ]; then
echo
echousage: $0 [network-interface]
echo
echoe.g. $0 eth0
echo
exit
fi

IF=$1

while true
do
R1=`cat/sys/class/net/$1/statistics/rx_bytes`
T1=`cat/sys/class/net/$1/statistics/tx_bytes`
sleep$INTERVAL
R2=`cat/sys/class/net/$1/statistics/rx_bytes`
T2=`cat/sys/class/net/$1/statistics/tx_bytes`
TBPS=`expr$T2 - $T1`
RBPS=`expr$R2 - $R1`
TKBPS=`expr$TBPS / 1024`
RKBPS=`expr$RBPS / 1024`
echo"TX $1: $TKBPS kb/s RX $1: $RKBPS kb/s"
done

下面的屏幕截圖顯示了上面的兩個腳本的輸出。

閱讀全文

與linux伺服器如何查看網口流量相關的資料

熱點內容
安卓機為什麼會死機 瀏覽:845
python模塊交叉編譯 瀏覽:363
單片機音樂盒程序 瀏覽:607
網頁源碼改語言 瀏覽:358
三相電表容量演算法 瀏覽:833
linuxoracle查看sid 瀏覽:751
什麼的伺服器快 瀏覽:764
程序員看不起編程 瀏覽:764
python網頁狀態碼 瀏覽:17
10分的硬幣演算法 瀏覽:772
vmwareesxi伺服器怎麼關閉 瀏覽:782
我的世界手機命令方塊循環 瀏覽:305
冷凝式壓縮機加水嗎 瀏覽:750
少兒編程培訓方法 瀏覽:807
樹莓派怎麼切換國內伺服器 瀏覽:707
java兩個數的差 瀏覽:919
編程語言性能排行 瀏覽:336
深度學習推理引擎編譯 瀏覽:515
cdr怎麼轉pdf格式 瀏覽:405
蒙商信用卡app里怎麼修改收貨地址 瀏覽:332