当前位置:首页 > Linux > 正文

Linux服务器连接数怎么查

查看Linux连接数常用命令: ,1. 使用 netstat -ant | wc -l 统计TCP连接总数。 ,2. 通过 ss -s 查看汇总信息(更高效)。 ,3. 指定状态如 netstat -ant | grep ESTABLISHED | wc -l 统计已建立连接。 ,4. netstat -tunss -tun 可显示详细连接信息。

Linux系统查看连接数:详细指南与实用技巧

在服务器管理和网络监控中,查看网络连接状态是最基础的技能之一,掌握这些方法能帮助您快速诊断网络瓶颈和安全问题。

在Linux系统中,网络连接数是衡量服务器负载、检测异常活动以及优化性能的关键指标,当服务器响应变慢或出现网络故障时,查看当前连接状态通常是排查问题的第一步,以下是我在多年Linux系统管理实践中总结的高效查看连接数方法。

核心工具查看连接状态

经典工具 netstat(推荐基础使用)

# 查看所有TCP连接
netstat -ant
# 查看统计信息(按状态分组)
netstat -ant | awk '/^tcp/ {print $6}' | sort | uniq -c

参数解析:

  • -a:显示所有连接和监听端口
  • -n:以数字形式显示地址和端口
  • -t:仅显示TCP连接-u用于UDP)

输出示例:

Linux服务器连接数怎么查  第1张

ESTABLISHED 120
TIME_WAIT   85
LISTEN      10

解读指南:

  • ESTABLISHED:当前活跃连接
  • TIME_WAIT:等待关闭的连接(大量出现可能需调整内核参数)
  • LISTEN:服务监听端口

高效工具 ss(netstat的现代替代)

# 查看所有TCP连接(比netstat速度更快)
ss -t -a
# 按状态统计连接数
ss -s

参数优势:

  • 直接读取内核数据,效率更高
  • 支持更丰富的过滤功能
  • 显示更详细的套接字信息

统计输出示例:

Total: 256
TCP:   184 (estab 120, closed 40, orphaned 0, timewait 24)

文件系统查看 /proc/net/tcp

# 直接读取内核TCP连接信息
cat /proc/net/tcp
# 格式化输出(需安装iproute2)
cat /proc/net/tcp | awk '{print $2,$3,$4,$5}' | column -t

字段解释:

  • 本地地址(十六进制IP:端口)
  • 远程地址(十六进制IP:端口)
  • 连接状态(16进制值)
  • 队列信息

状态码参考:

  • 0A:LISTEN
  • 01:ESTABLISHED
  • 06:TIME_WAIT

进阶分析方法

按服务进程查看连接

# 查看各进程的连接数
lsof -i TCP -n | awk '{print $1}' | sort | uniq -c | sort -nr
# 查看特定进程连接(如nginx)
lsof -i -P -n | grep nginx

实时监控连接变化

# 每2秒刷新连接状态
watch -n 2 "netstat -ant | awk '{print $6}' | sort | uniq -c"

分析高连接IP

# 统计访问最多的前10个IP
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n | tail -10

️ 性能优化与安全监控

调整内核参数(解决TIME_WAIT过多)

# 编辑sysctl.conf
sudo nano /etc/sysctl.conf
# 添加以下参数
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
# 应用配置
sudo sysctl -p

检测异常连接

# 找出连接数异常的IP(>100连接)
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | awk '$1 > 100'

可视化工具推荐(适合长期监控)

  1. iftop:实时带宽监控
    sudo iftop -P
  2. nethogs:按进程分组流量
    sudo nethogs
  3. Prometheus+:Grafana企业级监控方案

总结与最佳实践

工具/方法 适用场景 优势
netstat 快速基本检查、兼容性要求 系统自带、语法简单
ss 专业排查、高性能服务器 速度极快、信息详细
lsof 进程级连接分析 精确关联进程
/proc 内核级数据分析 无依赖、原始数据
可视化工具 长期监控/趋势分析 直观展示、历史记录

专业建议:

  1. 日常监控使用 ss -s 快速获取连接统计
  2. 排查异常时结合 lsofss 精确定位问题进程
  3. 对于生产环境,建议部署Prometheus等专业监控系统
  4. 定期分析连接日志,建立基线以便发现异常波动

在Web服务器场景中,TIME_WAIT连接数通常是正常值的3倍左右属于合理范围,超过此比例可能需要优化TCP参数或检查程序连接管理逻辑。

掌握这些连接数查看技巧,将使您能够快速诊断服务器性能瓶颈、发现潜在安全威胁(如DDoS攻击)并优化应用性能,最有效的监控是持续性的——建立连接趋势图比单次检查更能揭示问题本质。


参考资料:

  1. Linux man pages (netstat/ss/lsof)
  2. Red Hat性能调优指南
  3. Linux内核文档 (Documentation/networking/proc_net_tcp.txt)
  4. W. Richard Stevens《UNIX网络编程》
0