悠闲博客-www.yxyss.cn

Windows如何查看端口是否占用,监听端口占用的两种命令: Netstat或Powershell用法

更新时间:2026-04-14 08:39点击:8

  ‌需求与问题:前后端配置了跨域操作,但是仍然报错,可以考虑端口被两个程序占用,找不到正确端口或者后端接口书写是否规范,特别是利用Python Flask书写时要保证缩进是否正确!

  

  Windows操作系统中,查看端口是否占用并结束占用端口的程序是一个常见的操作,特别是在进行网络配置或软件安装时。以下是一个详细的步骤指南:

  

  一、查看端口是否占用

  方法1:使用命令提示符(Command Prompt)

  打开命令提示符:

  点击开始菜单,在搜索框中输入“cmd”。

  在搜索结果中找到“命令提示符”,右键点击并选择“以管理员身份运行”。

  输入查看端口占用命令:

  在命令提示符窗口中,输入netstat -ano命令并按下回车键。这将显示所有当前的网络连接、监听端口以及它们的进程ID(PID)。

  如果要查看特定端口的占用情况,可以使用netstat -ano | findstr "端口号"命令,将“端口号”替换为你想查询的具体端口号。

  

  

  方法2:使用资源监视器(Resource Monitor)

  打开资源监视器:

  按下“Win + R”组合键,打开“运行”对话框。

  输入“resmon.exe”,并点击“确定”按钮。

  查看端口占用情况:

  在资源监视器窗口中,点击左侧导航栏上的“网络”选项卡。

  在这里,你可以看到所有活动的网络连接以及相应的端口号和进程名称。

  方法3:使用第三方工具

  还有一些第三方工具,如TCPView、CurrPorts等,它们提供了更直观的用户界面 来查看端口占用情况。这些工具通常由专业的软件开发公司或开源社区提供,可以在它们的官方网站上下载和使用。

  

  二、结束占用端口的程序

  找到占用端口的程序:

  如果你已经知道占用端口的程序的名称,可以直接在任务管理器或资源监视器中找到它。

  如果不知道程序名称,可以使用命令提示符中的tasklist | findstr "PID"命令来查找,将“PID”替换为占用端口的进程的PID。

  

  

  结束程序:

  在任务管理器中结束程序:

  打开任务管理器(可以通过按下“Ctrl+Shift+Esc”快捷键或右键点击任务栏选择“任务管理器”来打开)。

  在“进程”或“详细信息”选项卡中找到占用端口的程序,右键点击并选择“结束任务”。

  

  

  使用命令提示符结束程序:

  在命令提示符中输入taskkill /F /PID 进程ID命令,将“进程ID”替换为占用端口的进程的PID。/F参数表示强制结束进程。

  

  

  

  

  注意事项

  在结束进程之前,请确保该进程不是系统关键进程,以免对系统稳定性造成影响。

  如果占用端口的程序是某个重要服务的一部分,可能需要通过服务管理器来停止该服务,而不是直接结束进程。

  在使用第三方工具时,请确保从可信的来源下载,以避免潜在的安全风险。

  提示:pycharm终止进程过后先关闭pycharm窗口(因为不关闭窗口你会发现虽然进程没了但是端口号还是被原来那个进程占用【缓存?】),重新开窗口和服务!!!否则会出现端口号同时被两个进程占用!!!

  

  

  

查看Windows监听端口占用的两种命令: Netstat或Powershell用法

  在 Windows 中,有两个主要命令可用于检查打开的监听端口:

  • Netstat(命令提示符)
  • Get-NetTCPConnection(PowerShell)

  这两个命令对于 IT Pro 和系统管理员非常有用,本文将介绍如何使用「命令提示符」和 PowerShell 查看 Windows 打开和监听的端口。

监听端口的类型

  打开或监听的端口是 Windows 中应用程序或服务正在使用的端口,用于与其它网络设备建立连接。在 Windows 中有两种类型的连接端口:

  • TCP(传输控制协议
  • UDP(用户数据报协议

  Windows 中的不同应用程序会打开不同的端口(TCP 或 UDP),UDP 速度更快但不太安全,而 TCP 速度较慢但更安全。

使用 Netstat 命令查看 Windows 监听端口

  要查看 Windows 占用的监听端口,请按以下步骤操作:

  1、在「开始」菜单中搜索 cmd – 选择「以管理员身份运行」以打开「命令提示符」。

  2、按以下方式运行 Netstat 命令:

  netstat -a #或 netstat -ano

  • -a 开关显示 Windows 正在监听的所有活动连接,包括 TCP 和 UDP。
  • -o 开关显示每个进程的 PID。
  • -n 开关以数值形式显示 IP 地址和端口号。

  

使用 Netstat 在命令提示符中检查侦听端口

  上述命令会输出以下内容:

  • 协议(TCP 或 UDP)
  • 本地地址(当前 Windows 设备的 IP 地址)
  • 外部地址(远程设备的 IP 地址)
  • 状态(Listening、Established、Time_Wait 和 Close_Wait)
  • PID(打开该端口的进程 PID)

  3、「本地地址」中的「:」冒号后面跟的数字是监听端口号。如果只查看监听状态的端口,可以运行以下命令:

  netstat -aon | findstr /i listening

  

使用 Netstat 在命令提示符中列出所有侦听端口

  「外部地址」字段中的 0.0.0.0:0 表示该端口用于广播。

  您可以配合以下参数与 Netstat 命令一起使用:

参数描述
-a显示包括 TCP 和 UDP 在内的所有连接。
-n以数值形式显示 IP 地址和端口号。
-o显示进程 PID。
-p显示特定协议的连接。
-r显示内核路由表。
-s按协议显示统计信息。
-t显示当前活动的连接。
-f将 IP 地址解析为 FQDN。
-e显示网络统计信息,包括错误、字节数、发送和接收的数据包等。
interval命令自动再次运行的时间间隔(以秒为单位)。

使用 Powershell 查看 Windows 监听端口

  Get-NetTCPConnection cmdlet 是 PowerShell 中与 Netstat 命令相对应的命令。它能够查看与 Netstat 类似的信息。您可以使用 Get-NetTCPConnection 命令输出以下信息:

  • 本地地址
  • 本地端口
  • 远程地址
  • 远程端口
  • 状态

  1、可以使用 Where-Object 过滤器对输出内容进行筛选,它类似于 findstr 命令:

  Get-NetTCPConnection | Where-Object {$_.State -eq 'Listen'}

  

使用 PowerShell 查看 Windows 监听端口占用

  2、还可以使用 -State 参数按状态筛选连接列表:

  Get-NetTCPConnection -State Listen

  这将显示所有处于「监听」状态的端口。

  3、也可以使用端口号来应用筛选器:

  Get-NetTCPConnection -LocalPort 22

  4、可以运行以下命令以获取每个连接的详细信息:

  Get-NetTCPConnection | Select-Object -Property *

  

Get-NetTCPConnection 选择对象属性

  Get-NetTCPConnectionNetstat 之间的主要区别在于,可以使用 Invoke-Command 命令远程调用。

  PowerShell 还提供了另一个 GetNetStat 命令 ,用于在 Windows 以外的操作系统(如 Linux)上查看打开或监听的端口。GetNetStat 是一个跨平台模块,可在安装 PowerShell 的计算机上运行。

  

栏目分类

联系方式
  • help@yxrss.cn
  • lgc@yxrss.cn
  • admin@yxrss.cn