我想監控傳入和傳出網路連線的數量。我可以使用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 條目的信息這裡。