分整体连接、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 -c3. 统计单个端口的连接数
示例:统计 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 -nr2. 每个进程的连接数
ss -antp | grep -v "PID"| awk '{print $NF}'| cut -d/-f1 | sort | uniq -c | sort -nr四、查看系统全局并发限制(连接上限)
Linux 受文件句柄限制,决定最大连接数:
# 查看当前用户最大文件句柄(单进程最大连接上限)ulimit -n# 查看系统全局最大打开文件数cat /proc/file-nr
五、快速汇总常用最简命令
看当前已建立TCP连接数:
ss -ant | grep ESTAB | wc -l看所有监听端口:
ss -antl看80端口连接数:
ss -ant | grep :80| wc -l
小贴士:CentOS 7+/Ubuntu 16.04+ 优先用
ss;老系统用netstat。部分最小化系统需先安装:yum install net-tools/apt install net-tools。
