跳到主要内容

如何查看Linux系统每个ip的连接数?

参考答案:

要查看Linux系统中每个IP的连接数,可以使用netstat命令结合awksort命令。以下是一个示例命令:

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

这个命令的解释如下:

  1. netstat -ntu:显示所有活动的网络连接(不包括监听套接字),并以文本格式输出。-n选项表示以数字形式显示地址和端口号,-t表示显示TCP连接,-u表示显示UDP连接。
  2. awk '{print $5}':使用awk命令提取每行中的第五个字段,即远程地址和端口号。
  3. cut -d: -f1:使用cut命令以冒号为分隔符,提取远程地址部分。
  4. sort:对提取的远程地址进行排序。
  5. uniq -c:统计每个远程地址出现的次数,即连接数。
  6. sort -n:按照连接数进行数值排序。

执行这个命令后,你将看到一个按连接数排序的IP列表,每个IP后面跟着其对应的连接数。

请注意,这个命令只考虑了TCP和UDP连接,并且只显示了远程地址的连接数。如果你需要查看本地地址的连接数或其他类型的连接信息,请相应地调整netstat命令的选项。

另外,确保你有足够的权限来执行这个命令。在大多数Linux系统上,你可能需要使用sudo命令以管理员身份运行它。