我想监控传入和传出的网络连接数。我可以使用 和 获得总数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 条目的信息这里。