如何計算 Linux 上的入站或出站網路連線數

如何計算 Linux 上的入站或出站網路連線數

我想監控傳入和傳出網路連線的數量。我可以使用netstat和獲得總數wc -l,但我想知道有多少人入站和多少人出站。

答案1

您可以使用 ip_conntrack 來實現這一點。

modprobe ip_conntrack
cat /proc/net/ip_conntrack

來源位址等於介面位址的已建立連線是傳出連線。

目標位址等於介面位址的已建立連線是傳入連線。

# Number of outgoing connections
cat /proc/net/ip_conntrack | grep "ESTABLISHED" | grep "src=xxx.xxx.xxx.xxx" | wc -l

# Number of incoming connections
cat /proc/net/ip_conntrack | grep "ESTABLISHED" | grep "dst=xxx.xxx.xxx.xxx" | wc -l

(xxx.xxx.xxx.xxx顯然是你的介面的ip位址)

請記住,系統上執行的應用程式之間會發生進程間通訊的連線。

您可以找到有關 ip_conntrack 條目的信息這裡

答案2

您可以使用 iftop 監控所有傳入和傳出連線。

http://www.ex-parrot.com/pdw/iftop/

如果你想獲得一些統計數據

http://www.ntop.org/products/ntop/

相關內容