在 Windows 服务器上查看开放的端口,可通过以下几种常用方法操作:
方法 1:使用 netstat 命令(推荐)
-
以管理员身份打开命令提示符(CMD)或 PowerShell
(右键点击“开始”按钮 → 选择“终端(管理员)”或“命令提示符(管理员)”) -
执行命令:
netstat -ano | findstr "LISTENING"- 参数解释:
-a:显示所有连接和监听端口。-n:以数字形式显示地址和端口(不解析主机名)。-o:显示占用端口的进程 PID。findstr "LISTENING":过滤出正在监听的端口(开放状态)。
- 参数解释:
-
查看结果:
输出示例:TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 1234 TCP 0.0.0.0:443 0.0.0.0:0 LISTENING 5678- 第一列:协议(TCP/UDP)
- 第二列:本地地址和端口(
0.0.0.0:80表示所有 IP 的 80 端口) - 最后一列:进程 PID(例如
1234)
-
根据 PID 查找进程名:
tasklist | findstr "1234"输出示例:
httpd.exe 1234 Services 0 10,920 K
方法 2:使用 PowerShell 命令
- 以管理员身份打开 PowerShell。
- 执行命令:
Get-NetTCPConnection -State Listen | Select-Object LocalAddress, LocalPort, OwningProcess- 输出示例:
LocalAddress LocalPort OwningProcess ------------ --------- ------------- 0.0.0.0 80 1234 0.0.0.0 443 5678
- 输出示例:
- 根据 PID 查进程名:
Get-Process -Id 1234 | Select-Object ProcessName
方法 3:使用资源监视器(图形化界面)
- 按
Win + R输入resmon打开“资源监视器”。 - 切换到 “网络”选项卡 → 展开 “侦听端口” 列表。

- 查看所有监听状态的端口、协议及对应进程。
方法 4:使用第三方工具
-
TCPView(Sysinternals 工具集):
下载地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/tcpview- 实时查看所有端口占用情况,支持动态刷新。
- 直观显示进程、协议、状态和远程地址。

-
Nmap(网络扫描工具):
下载地址:https://nmap.org
扫描本地或远程服务器开放端口:nmap -sT -O localhost
常见问题排查
- 端口被占用:通过
netstat -ano找到 PID 后,用taskkill /PID 1234 /F结束进程。 - 防火墙干扰:检查防火墙是否允许端口通信(
控制面板 → Windows Defender 防火墙 → 高级设置)。 - 服务未启动:确认对应端口的服务(如 IIS、SQL Server)是否运行。
总结
| 方法 | 适用场景 | 优势 |
|---|---|---|
netstat |
快速命令行检查 | 系统内置,无需安装 |
| PowerShell | 脚本化或高级查询 | 输出格式灵活,易于过滤 |
| 资源监视器 | 图形化查看 | 直观展示进程和端口关系 |
| TCPView/Nmap | 深度分析或实时监控 | 功能强大,支持远程扫描 |
根据需求选择合适的方法即可高效定位服务器开放端口!
最后修改时间:2025-06-19 09:33:20
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




