Linux 查看当前连接数(常用命令)

2026-05-31 yvsm 服务器

分整体连接、TCP/UDP、端口、进程、并发连接几种场景,按使用频率整理:

一、查看系统所有网络连接(通用)

1. netstat(传统工具)

# 查看所有 TCP/UDP 连接、监听、状态netstat -an# 只看 TCP 连接 + 显示进程名/IDnetstat -antp# 只看 UDP 连接netstat -anup

参数说明:

  • -a:所有连接(监听+已连接)

  • -n:数字IP/端口,不解析域名

  • -t:仅TCP

  • -u:仅UDP

  • -p:显示对应进程(需root)

2. ss(推荐,更快,现代Linux默认)

ss 比 netstat 性能更好,优先使用:

# 所有连接ss -an# 仅TCP连接ss -ant# 仅监听端口ss -antl# 显示进程ss -antp

二、统计总连接数(数量统计)

1. 统计所有 TCP 连接总数

ss -ant | wc -l

2. 按 TCP 状态统计(ESTABLISHED/WAIT/LISTEN 等)

已建立的有效连接(最常用):

ss -ant | grep ESTAB | wc -l

按状态分类统计:

ss -ant | awk '{print $1}'| sort | uniq -c

3. 统计单个端口的连接数

示例:统计 80 端口 连接数

ss -ant | grep :80| wc -l# 只统计 80 端口已建立连接ss -ant | grep :80| grep ESTAB | wc -l

三、查看每个IP/每个进程的连接数

1. 每个客户端IP连接数(排查高频访问)

ss -ant | grep ESTAB | awk '{print $5}'| cut -d:-f1 | sort | uniq -c | sort -nr

2. 每个进程的连接数

ss -antp | grep -v "PID"| awk '{print $NF}'| cut -d/-f1 | sort | uniq -c | sort -nr

四、查看系统全局并发限制(连接上限)

Linux 受文件句柄限制,决定最大连接数:

# 查看当前用户最大文件句柄(单进程最大连接上限)ulimit -n# 查看系统全局最大打开文件数cat /proc/file-nr

五、快速汇总常用最简命令

  1. 看当前已建立TCP连接数:


    1. ss -ant | grep ESTAB | wc -l

  2. 看所有监听端口:


    1. ss -antl

  3. 看80端口连接数:


    1. ss -ant | grep :80| wc -l

小贴士:CentOS 7+/Ubuntu 16.04+ 优先用 ss;老系统用 netstat。部分最小化系统需先安装:yum install net-tools / apt install net-tools。