Port

CentOS 監控埠流量

  • November 8, 2011

我正在尋找一種工具來監控 CentOS 伺服器某些埠上的流量。在這台伺服器上,每個服務都執行在從 3000 到 3050 的埠上,我想比較這些服務的流量消耗;就像哪個是主要的談話者/聽眾。

/proc/net/dev 僅給出在網路介面上發送和接收的全域位數,而不是在埠級別。

我發現的每一個工具都提供了關於介面級別的報告(如 eth0),而沒有在埠級別提供報告,但畢竟我可能沒有進行足夠的搜尋。

你們知道有什麼方法可以做這樣的事情嗎?

或者您可以使用無目標的 iptables,這是非常合法且無害的:

iptables -A INPUT -p tcp --dport 3000
iptables -A INPUT -p tcp --dport 3001
...
iptables -A INPUT -p tcp --dport 3050

iptables -A OUTPUT -p tcp --sport 3000
iptables -A OUTPUT -p tcp --sport 3001
...
iptables -A OUTPUT -p tcp --sport 3050

由於這些規則都沒有目標,因此它們都不會改變流量。但是他們每個人都會為每個匹配的數據包增加它的數據包和字節數,所以iptables -L -n -v應該返回類似的東西

15733  933K           tcp  --  * *      0.0.0.0/0      0.0.0.0/0     tcp dpt:3000
5733   133K           tcp  --  * *      0.0.0.0/0      0.0.0.0/0     tcp dpt:3001
...

請注意,這假設您現在沒有使用任何防火牆;如果你是,這些規則將需要放在 INPUT 和 OUTPUT 鏈中的正確位置,即首先。

鑑於您正在監視的埠數量,您可能希望將其委託給使用者定義的鏈以保持您的 iptables 輸出正常;但這對你來說是一種鍛煉!

引用自:https://serverfault.com/questions/328963