在Windows操作系统中,查看开放端口是网络管理、故障排查和安全审计的重要操作,开放端口是指计算机与外部网络通信时开放的入口,不同的端口对应不同的服务或应用程序,了解如何查看这些端口,可以帮助用户识别潜在的安全风险、确认服务运行状态,或解决网络连接问题,以下是Windows系统中查看开放端口的详细方法,涵盖命令行工具、图形化界面以及第三方工具的使用,并附上注意事项和常见问题解答。

使用命令行工具查看开放端口
命令行工具是Windows系统中最直接、高效的端口查看方式,尤其适合管理员和高级用户,常用的命令包括netstat、PowerShell和Tasklist,这些工具可以实时显示端口状态、关联进程及网络连接信息。
使用netstat命令
netstat是Windows内置的经典网络工具,功能强大且支持多种参数组合,以下是常用命令及输出说明:
-
基础命令:
打开命令提示符(CMD)或PowerShell,输入netstat,按回车执行,默认显示所有活动的TCP和UDP连接,包括本地地址、外部地址、端口状态(如LISTENING、ESTABLISHED)。 -
过滤特定端口:
若需查看特定端口(如80端口),使用netstat -ano | findstr "80",其中-a显示所有连接,-n以数字形式显示地址和端口(避免DNS解析延迟),-o显示进程ID(PID)。
(图片来源网络,侵删) -
按协议过滤:
只查看TCP连接:netstat -anb | findstr "TCP";只查看UDP连接:netstat -anb | findstr "UDP"。-b参数可显示创建每个连接的可执行文件名(需管理员权限)。 -
输出到文件:
若需保存结果,使用netstat -ano > C:\portlist.txt,将结果导出到指定文本文件。
输出示例:
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
TCP 192.168.1.100:5357 104.16.10.1:443 ESTABLISHED 1234
- 列说明:协议类型、本地地址和端口、外部地址和端口、状态、进程ID(PID)。
使用PowerShell命令
PowerShell提供了更灵活的对象化操作,适合批量处理和筛选数据。

-
基础命令:
在PowerShell中输入Get-NetTCPConnection -State Listen,显示所有处于监听状态的TCP连接,包含本地地址、远程地址、端口和PID。 -
结合
Get-Process获取进程名:
通过管道将PID关联到进程名:Get-NetTCPConnection -State Listen | Select-Object LocalAddress, LocalPort, OwningProcess | ForEach-Object { $_ | Add-Member -MemberType NoteProperty -Name ProcessName -Value (Get-Process -Id $_.OwningProcess).ProcessName -PassThru }。 -
查看UDP端口:
使用Get-NetUDPEndpoint命令,显示UDP端口的本地地址和端口信息。
使用Tasklist关联进程
通过netstat获取PID后,可使用tasklist查看对应进程的详细信息。tasklist | findstr "4",显示PID为4的进程(通常为System)。
使用图形化界面查看开放端口
对于不熟悉命令行的用户,Windows提供了图形化工具,如“资源监视器”和“Windows Defender 防火墙”,操作直观且无需记忆命令。
通过资源监视器查看
-
打开方式:
按Ctrl+Shift+Esc打开任务管理器,切换到“性能”选项卡,点击“打开资源监视器”,展开“网络”部分的“TCP连接”。 -
功能说明:
资源监视器会实时显示所有TCP连接,包括协议、本地地址、远程地址、状态和关联进程,用户可直接通过界面筛选端口或进程,无需手动输入命令。
通过Windows Defender防火墙查看
- 开放端口通常与防火墙规则相关,可通过防火墙管理器查看允许通信的端口:
- 打开“控制面板”>“Windows Defender 防火墙”>“高级设置”。
- 在“入站规则”或“出站规则”中,筛选规则类型为“端口”的项目。
- 右键点击规则查看“协议和端口”信息,确认哪些端口被允许或阻止。
注意:防火墙规则显示的是策略层面的端口开放状态,不代表端口一定被进程监听(如程序未启动但规则已配置)。
使用第三方工具查看开放端口
第三方工具通常提供更友好的界面和附加功能,如端口扫描、进程管理和历史记录。
TCPView(Sysinternals工具)
- 特点:微软官方出品的轻量级工具,实时显示端口、进程和连接状态。
- 使用方法:下载并运行TCPView.exe,界面自动刷新,可按端口号、进程名排序,或结束可疑进程。
CurrPorts(NirSoft工具)
- 特点:功能强大的端口管理工具,支持导出数据、修改端口属性(如关闭端口)。
- 使用方法:运行后显示所有端口信息,可通过“Options”->“Hide Unconnected Ports”过滤非活动端口。
Advanced IP Scanner
- 特点:局域网端口扫描工具,可扫描指定IP的开放端口,适合网络管理员排查设备端口状态。
注意事项与最佳实践
- 管理员权限:多数命令和工具需以管理员身份运行,否则无法查看所有进程或端口信息。
- 端口状态说明:
LISTENING:端口等待连接请求,常见于服务端程序(如Web服务器)。ESTABLISHED:端口已建立连接,数据传输中。TIME_WAIT:连接关闭后等待资源释放,通常短暂存在。
- 安全风险:若发现未知端口(如非系统或常用应用端口),需警惕恶意软件,可通过杀毒软件扫描或关闭对应进程。
- 端口占用处理:若需释放被占用的端口,可通过任务管理器结束进程,或使用命令
taskkill /PID <PID> /F强制终止。
相关问答FAQs
问题1:如何区分系统关键端口和用户程序端口?
解答:系统关键端口通常由Windows内核进程或服务监听,PID较低(如PID为4的System进程、PID为0的System Idle Process),用户程序端口则对应具体的应用程序(如PID为chrome.exe的浏览器端口),可通过tasklist或任务管理器查看PID对应的进程名,若进程名未知,建议使用安全软件检测。
问题2:为什么某些端口在netstat中显示为LISTENING,但无法访问?
解答:可能原因包括:
- 防火墙阻止:Windows Defender防火墙或第三方安全软件可能阻止了外部访问,需检查入站规则。
- 绑定地址限制:程序可能仅绑定到本地地址(如
0.0.1),而非0.0.0(所有接口),导致外部无法访问。 - 网络配置问题:若为远程访问,需确认目标IP和端口正确,且网络路由可达。
可通过telnet <IP> <端口>或Test-NetConnection -ComputerName <IP> -Port <端口>测试连通性。
