服务器如何查看所有连接,常用的命令有哪些?

服务器查看所有连接的核心方法是使用系统内置命令(如netstat、ss、lsof)或针对特定应用(数据库、Web服务器)的查询语句,这些工具能快速列出当前所有TCP/UDP连接状态、端口占用及进程信息。无论你管理的是Linux云服务器还是Windows物理机,掌握这些命令都是日常运维的必备技能,下面我从命令使用、问题排查、工具对比等角度,带你全面掌握服务器连接查看的方法。

Linux服务器查看所有连接命令详解

Linux下查看网络连接的传统命令是netstat,但现代发行版更推荐ss,两者都支持查看所有连接,但ss在大量连接时效率更高,lsof命令可以按进程或端口查看连接,适合精确定位问题。

windows查看端口与进程
加载中
windows查看端口与进程

netstat命令参数详解

netstat -anptu是最常用组合,参数含义:-a显示所有连接,-n以数字格式显示地址和端口,-p显示进程PID,-t和-u分别筛选TCP和UDP,通过管道组合,可以统计每个状态的连接数量,比如netstat -ant | awk ‘{print $6}’ | sort | uniq -c得到各状态计数,需要管理员权限时,加sudo。

在实际场景中,当排查应用端口冲突时,运行netstat -anptu | grep 8080,很快就能看到LISTEN和ESTABLISHED状态,从而判断服务是否正常,如果发现大量SYN_RECV状态,可能遭受了SYN攻击,netstat -r可以查看路由表,netstat -i查看接口统计。

netstat的缺点是在连接数巨大时执行缓慢,甚至可能耗尽CPU,在生产环境建议使用ss。

ss命令的高效之处

ss命令语法类似,但输出更快,常用参数:

  • ss -tuln:显示所有监听端口
  • ss -ant state established:显示所有已建立连接
  • ss -s:提供整体统计,包括TCP、UDP、RAW等
  • ss -ant src 192.168.0.1:按源地址过滤

在高并发服务器上,ss是netstat的替代者,行业共识认为,ss在连接数超过5000时性能优势明显,使用ss -ant | grep -c 80可以快速统计端口80的连接数,对于连接状态分析,ss -t state established可以筛选已建立连接,方便定向监控,ss还支持多种过滤表达式,如ss -ant state time-wait。

服务器如何查看所有连接,常用的命令有哪些?

lsof按进程定位连接

lsof -i列出所有网络连接,lsof -i :80显示端口80的连接,当需要知道哪个进程占用特定端口时,lsof -i :80 | grep PID,lsof也支持查看用户关联的连接,对于多用户服务器非常有用,lsof -i -u root可以查看root用户的所有网络连接。

Windows服务器查看所有连接方法

Windows服务器同样强大,但命令和工具与Linux不同,最常用的是netstat命令和资源监视器图形工具。

netstat -anb基础命令

在cmd中运行netstat -anb,-b参数显示进程名称,但需要管理员权限,且输出较慢,替换为netstat -ano则只显示PID,速度更快,然后通过任务管理器查看对应进程,在排查端口占用时,netstat -ano | findstr :8080定位到PID,再到任务管理器找到进程名称,如果需要在Windows上查看类似Linux的ss功能,可以安装Windows Sysinternals套件中的TCPView,提供图形化连接查看。

资源监视器图形化查看

打开任务管理器,点击性能选项卡,下方打开资源监视器,在网络选项卡中,可以按图像、TCP连接、监听端口等分类查看,双击某个进程可以查看其所有连接,非常适合快速定位异常连接,当服务器查看所有连接时发现某个进程连接数异常高,可以在此界面直接结束进程或进一步分析。

PowerShell高级查询

PowerShell的Get-NetTCPConnection模块提供了更丰富的过滤功能。

  • Get-NetTCPConnection -State Established | Format-Table
  • Get-NetTCPConnection -State Established | Group-Object RemoteAddress | Sort-Object Count -Descending

对于批量管理,脚本化操作更高效,PowerShell 还支持Get-NetUDPEndpoint查看UDP连接。

服务器查看所有连接工具对比:netstat vs ss

服务器如何查看所有连接,常用的命令有哪些?

netstat和ss是最常用的两个工具,但它们在性能、功能上有差异,下面用表格对比。

对比维度 netstat ss
性能 连接数多时慢 快,处理大量连接高效
依赖 net-tools包 iproute2包(默认安装)
功能 基本统计 更详细的状态过滤
输出可读性 传统格式 更简洁但需习惯
适用场景 临时使用 生产环境推荐

在大多数Linux发行版中,ss已经替代netstat成为默认工具,但netstat仍然广泛使用,因为很多老教程还在用,业内专家指出,新部署的服务器建议直接使用ss,以获得更好的性能和更丰富的功能。

除了这两个,lsof作为补充工具,在按进程排查时不可或缺,Windows平台则主要依赖netstat和资源监视器,对于全连接查看,选择工具时应根据具体场景和操作系统。

服务器查看所有连接在性能优化中的应用

通过查看所有连接,可以了解服务器当前负载和连接健康度,相当一部分服务器性能问题与网络连接异常有关。

通过连接数判断负载

使用ss -s或netstat -s查看整体统计,如果已建立连接数持续增长,可能表示应用压力大或存在连接泄漏,单台服务器连接数在数万到数十万级别,但具体取决于硬件和应用,当连接数接近系统上限时,会出现连接超时或拒绝新连接,此时需要查看系统配置,如Linux的fs.file-max和net.ipv4.tcp_max_tw_buckets。

数据库连接查看

对于MySQL,使用show processlist;查看当前连接;对于PostgreSQL,使用select from pg_stat_activity;,在连接池设置中,查看所有连接可以帮助调整最大连接数,避免资源浪费,如果发现大量连接处于Sleep状态,可能需要调小连接超时时间,通过查看数据库连接,可以判断应用层是否合理使用连接池。

服务器如何查看所有连接,常用的命令有哪些?

Web服务器连接查看

Nginx和Apache都提供状态页面,可以查看活动连接数,结合ss命令,可以确认真实连接数与配置是否一致,配置Nginx状态页时,在server块中添加location /nginx_status { stub_status on; },然后通过curl http://localhost/nginx_status获取连接信息,Apache的mod_status模块提供类似功能,通过对比Web服务器状态和系统级连接,可以排查多层架构下的连接瓶颈。

掌握服务器查看所有连接的方法,能让你在运维中快速定位问题、优化性能,无论是Linux的ss还是Windows的资源监视器,选择适合你场景的工具才是关键。

Q&A:服务器查看所有连接常见疑问

问:服务器查看所有连接命令是什么?
答:Linux上推荐使用ss命令,其次netstat;Windows上使用netstat -anb或PowerShell的Get-NetTCPConnection,针对数据库,MySQL使用show processlist,PostgreSQL使用pg_stat_activity,具体命令可根据操作系统和需求选择。

问:服务器查看所有连接时卡顿,如何排查?
答:首先确认连接数是否过大,使用ss -s查看总数,如果连接数超过系统预期,检查是否有大量TIME_WAIT或CLOSE_WAIT状态,根据情况调整内核参数如tcp_tw_reuse(适当调整)或优化应用代码,如果卡顿是由于命令本身执行慢,建议使用ss代替netstat,同时检查系统资源如CPU、内存是否正常。

问:服务器查看所有连接工具对比哪个好?
答:netstat和ss功能相似,但ss性能更好,推荐在新系统上使用,lsof适合按进程定位,资源监视器适合Windows图形化查看,选择工具时应根据具体场景和操作系统,ss是目前Linux环境下最高效的全连接查看工具。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/524770.html

(0)
x86服务器CPU有哪些型号,哪个好?
上一篇 2026年7月28日 14:26
Access数据库如何改MySQL?Access转MySQL教程
下一篇 2026年6月8日 06:15

相关推荐

  • ASP.NET页面打印怎么实现?asp.net网页打印插件推荐

    关于ASP.NET页面打印技术的常用方法总结在Web开发领域,尤其是基于企业级应用的后端技术栈中,ASP.NET凭借其强大的生态系统和稳定性,长期占据着服务器端开发的重要地位,当涉及到前端交互与后端数据展示的最后一公里——页面打印时,许多开发者往往面临浏览器兼容性差、样式丢失、分页混乱等痛点,本文旨在从资深开发……

    2026年6月17日
    3500
  • iOS开发如何快速提升技能?,iOS进阶教程与性能优化指南

    iOS开发进阶:三大核心支柱构建卓越应用性能优化:流畅体验的基石CPU与GPU平衡精简视图层级、异步解码图片、预计算布局数据,使用Time Profiler定位耗时函数,避免主线程阻塞:DispatchQueue.global(qos: .userInitiated).async { // 复杂计算或数据处理……

    2026年2月15日
    14730
  • 如何安装WPF并创建第一个项目?WPF开发入门精通教程

    WPF开发实战指南:构建现代Windows应用程序WPF (Windows Presentation Foundation) 是微软构建Windows桌面应用程序的核心框架,它融合了XAML的声明式UI设计、强大的数据绑定能力、灵活的样式模板及硬件加速渲染,助力开发者打造视觉震撼且交互流畅的用户界面,开发环境配……

    2026年2月14日
    13030
  • Docker开发实践怎么做?Docker开发实践教程

    Docker 技术的引入,本质上是一场关于“标准化交付”的革命,在当下的软件开发领域,Docker 已不再仅仅是一项可选的容器化技术,而是构建现代化 CI/CD 流程、实现微服务架构落地的基石,核心结论在于:高效的 Docker 开发实践,能够将环境搭建时间从数小时压缩至分钟级,彻底消除“在我机器上能跑”的协作……

    2026年3月27日
    8500
  • 开发人员调试代码怎么做,开发人员调试流程是什么

    高效的程序调试不仅是修复错误的技术手段,更是一种系统化的工程思维,它是衡量开发人员工程能力的关键指标,直接决定了项目的交付质量和维护成本,掌握核心调试策略,能够将排查问题的时间缩短一半以上,从根源上减少生产环境的故障风险,对于开发人员调试而言,建立科学的排查逻辑远比依赖盲目试错更重要,这需要结合工具技巧、代码架……

    2026年2月24日
    14800
  • 嵌入式用什么开发?嵌入式开发需要掌握哪些技术

    嵌入式开发是一项系统工程,核心在于构建“硬件、工具链、软件架构”的完整闭环,嵌入式用什么开发并没有单一的答案,其核心结论是:嵌入式开发本质上是基于特定硬件平台,利用交叉编译工具链,在集成开发环境中构建嵌入式操作系统的过程, 选择何种开发方式,取决于产品性能需求、成本预算以及开发周期的综合考量,对于初学者或企业转……

    2026年3月19日
    10700
  • 大数据开发书籍推荐哪本好?大数据开发入门到精通学习路线

    关于大数据开发的书籍在数字化浪潮席卷全球的今天,大数据开发已成为企业核心竞争力的关键组成部分,市面上关于大数据开发的书籍琳琅满目,从基础语法到架构设计,从理论原理到实战案例,读者往往难以甄别哪些内容真正具备权威性与实战价值,本文基于资深数据工程师的长期实践与学习经验,结合E-E-A-T(经验、专业、权威、信任……

    2026年5月30日
    4000
  • 个人工作室网站怎么建?个人工作室网站模板

    关于个人工作室网站对于个人工作室而言,服务器不仅是存储数据的物理空间,更是业务连续性的基石,在2026年的技术环境下,个人工作室面临着流量波动大、预算有限但要求高性能的双重挑战,本文基于实际部署经验,从性能、稳定性、安全性及性价比四个维度,对当前主流的个人工作室服务器方案进行深度测评,并梳理了2026年度的最新……

    2026年6月10日
    4600
  • linux论文怎么写?linux操作系统原理及应用

    Linux服务器深度测评:2026年高性能架构解析与选型指南在云计算技术飞速迭代的当下,Linux服务器凭借其极高的稳定性、开源生态的丰富性以及卓越的安全性能,依然是全球企业级应用、Web开发、大数据处理及AI训练的首选基石,对于开发者、运维工程师及企业IT决策者而言,选择一款合适的Linux服务器不仅仅是配置……

    2026年6月14日
    2900
  • 微信开发原理是什么,微信小程序开发怎么做

    微信开发原理深度解析与架构实战微信开发本质上是一个基于HTTPS协议的API网关交互过程,其核心在于第三方服务器与微信服务器之间的数据通信与业务逻辑解耦,理解微信 开发 原理的关键,在于掌握微信服务器作为“中间人”的角色:它负责接收用户在客户端的操作,将其转化为标准的数据包推送给开发者服务器,并接收开发者服务器……

    2026年2月25日
    14400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注