文档首页> 常见问题> 如何查看云服务器的TCP连接?

如何查看云服务器的TCP连接?

发布时间:2025-04-30 18:34       

云服务器TCP连接监控全攻略:从基础到高阶排查技巧

在云计算时代,掌握服务器TCP连接状态已成为每位运维人员的必修课。本文将详细介绍6种主流操作系统下的TCP连接查看方法,并深入解析连接状态的秘密。

一、为什么需要监控TCP连接?

TCP连接状态直接反映服务器的网络健康状况:

  • 性能瓶颈定位:异常连接可能导致服务响应延迟
  • 安全威胁发现:大量TIME_WAIT状态可能遭遇SYN Flood攻击
  • 资源优化依据:CLOSE_WAIT堆积提示应用未正确关闭连接

二、Linux系统查看方法

1. netstat命令(经典工具)

netstat -natp | grep -i '80\|443'

关键参数说明:

参数作用
-n显示数字地址
-a显示所有连接
-t仅显示TCP连接
-p显示进程信息

2. ss命令(推荐替代方案)

ss -s  # 查看统计摘要
ss -tulnp  # 详细连接列表

相比netstat的优势:执行速度更快,支持更多过滤条件

三、Windows系统专用方法

1. 图形化工具

任务管理器 → 性能选项卡 → 打开资源监视器 → 网络标签

2. 命令行工具

netstat -ano | findstr "ESTABLISHED"

使用tasklist | findstr "PID"可进一步定位进程

四、高阶监控技巧

1. 实时监控脚本

watch -n 1 'netstat -an | awk '\''/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'\'''

2. 连接数报警设置

使用Zabbix监控项:

net.tcp.port[,80,ESTABLISHED]

3. TCP状态机解读

TCP状态转换图

重点关注:

  • SYN_RECV:半连接队列堆积
  • FIN_WAIT2:可能遭遇连接劫持

五、常见问题排查案例

案例1:CLOSE_WAIT堆积

现象:服务器出现大量CLOSE_WAIT状态连接

解决方案

  1. 检查应用是否未调用close()方法
  2. 调整内核参数:net.ipv4.tcp_keepalive_time

案例2:端口耗尽

现象:无法建立新连接,报"Address already in use"

解决方案

  1. 缩短TIME_WAIT超时:net.ipv4.tcp_fin_timeout=30
  2. 启用端口复用:net.ipv4.tcp_tw_reuse=1

六、最佳实践建议

  • 生产环境推荐使用ss替代netstat
  • 建立TCP连接数基线,设置合理阈值
  • 结合tcpdump进行包级分析:tcpdump -i eth0 'tcp port 80'

通过持续监控TCP连接状态,可以提前发现80%以上的网络性能问题,建议将相关命令集成到日常巡检脚本中。