运维必备CMD 命令行快速查看服务器端口监听状态指南

XMSDN

在服务器管理、网络调试以及开发测试中,快速了解服务器上哪些端口处于“监听”状态是一项基础且至关重要的技能,相比于图形界面,使用 CMD 命令行 能够更高效、更精准地获取端口信息,尤其是在远程连接或无界面的 Linux 服务器上。

本文将详细介绍如何使用 Windows 系统自带的 cmd 命令行工具来查看服务器的端口监听状态。

核心命令:Netstat

在 CMD 中,查看端口状态最常用的命令是 netstat,它的全称是“Network Statistics”(网络统计)。

运维必备CMD 命令行快速查看服务器端口监听状态指南

基本语法

netstat [参数]

常用参数详解

为了获取最直观的监听状态,我们通常组合使用以下参数:

  • -a (All):显示所有连接和监听端口,这是默认行为的一部分,用于查看所有网络状态。
  • -n (Numeric):以数字形式显示地址和端口号,这比显示主机名(如 www.google.com)更快,也更清晰。
  • -o (Own Process):显示与每个连接关联的所属进程 ID (PID),这对于找出是哪个程序占用了端口非常有用。
  • -t (TCP):显示 TCP 端口。
  • -u (UDP):显示 UDP 端口。
  • -l (Listening):仅显示处于监听状态的端口。

实战操作案例

场景 1:查看服务器所有正在监听的端口

如果你想知道服务器目前有哪些服务正在运行(Web 服务、数据库服务、远程桌面等),可以使用以下命令:

netstat -ano | findstr LISTENING
  • 解析netstat -ano 生成所有连接数据, 是管道符,将结果传递给 findstrLISTENING 则是过滤出监听状态的行。

输出示例:

Proto  Local Address          Foreign Address        State       PID
TCP    0.0.0.0:80             0.0.0.0:0              LISTENING   1234
TCP    0.0.0.0:3306           0.0.0.0:0              LISTENING   5678
TCP    0.0.0.0:3389           0.0.0.0:0              LISTENING   9000
  • Local Address:0.0.0.0:80 表示 80 端口正在监听所有网络接口(即对外开放)。

场景 2:检查特定端口是否被占用

假设你要部署一个 Web 服务,需要确认 8080 端口是否空闲,或者检查 3306 端口是否已被 MySQL 占用:

netstat -ano | findstr :8080

结果分析:

  • 如果没有任何输出:说明 8080 端口目前没有服务在监听,可以使用。
  • 如果有输出:说明该端口已被占用。TCP 0.0.0.0:8080 ... LISTENING,说明端口正在监听。

场景 3:查看所有 TCP 连接(包括已建立的连接)

有时候你需要排查网络故障,不仅要看监听的端口,还要看当前有多少客户端已经连接上了服务器:

netstat -ano | findstr ESTABLISHED

进阶技巧:通过端口找到对应的程序

netstat 显示某个端口被占用时,你可能会想知道是哪个程序占用的,这需要用到刚才提到的 -o 参数。

  1. 查看端口及对应的 PID

    netstat -ano | findstr :80

    假设输出结果最后一列显示 PID 为 4456

  2. 根据 PID 查找进程名: 在同一个 CMD 窗口中输入:

    tasklist | findstr 4456

    或者直接使用:

    tasklist /FI "PID eq 4456"

    输出示例

    Image Name                     PID Session Name        Mem Usage
    ========================= ======== ================ ==========
    httpd.exe                     4456 Services                   2,400 K

    这样你就知道是 httpd.exe(Apache 服务器)占用了 80 端口。

使用 cmd 命令行查看服务器端口监听状态,核心在于掌握 netstat 命令与 findstr 过滤器的配合。

  • 最简指令netstat -ano | findstr LISTENING (查看所有监听端口)
  • 排查端口netstat -ano | findstr :端口号 (查看特定端口)

熟练掌握这一技能,能帮助运维人员和开发人员迅速排查网络配置错误、防火墙拦截问题以及服务启动异常,是提升服务器管理效率的利器。

💡 温馨提示

📌 阅读须知 Rules & Notice

本站坚持免费分享,致力于为大家提供实用、优质的内容与资源。

🔗欢迎大家收藏与转发,转载请保留本站链接,请勿私自去除版权信息。

📚所有外部整理资源,仅作学习交流使用,请勿用于各类商业用途。

🤝网络相聚本是缘分,希望大家文明交流,理性浏览。

🛠️若发现内容有误或涉及侵权,我们将第一时间处理整改。

💖 感谢每一位朋友的陪伴与支持

✨ 用心分享,一路同行 ✨

目录[+]