如何计算 Linux 上的入站或出站网络连接数

如何计算 Linux 上的入站或出站网络连接数

我想监控传入和传出的网络连接数。我可以使用 和 获得总数netstatwc -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/

相关内容