51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

使用 Netstat 或 Powershell 查看 Windows 监听端口占用

Powershell

监听端口是计算机当前正在使用的端口,用于建立计算机之间的网络连接。虽然打开、监听和关闭网络端口的过程是无缝的,但识别当前打开或监听的端口可以帮助解决与网络相关的问题。

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

这两个命令对于 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 在命令提示符中检查侦听端口 使用 Netstat 在命令提示符中检查侦听端口

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

  • 协议(TCP 或 UDP)

  • 本地地址(当前 Windows 设备的 IP 地址)

  • 外部地址(远程设备的 IP 地址)

  • 状态(Listening、Established、Time_Wait 和 Close_Wait)

  • PID(打开该端口的进程 PID)

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

netstat -aon | findstr /i listening

使用 Netstat 在命令提示符中列出所有侦听端口 使用 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 监听端口占用 使用 PowerShell 查看 Windows 监听端口占用

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

Get-NetTCPConnection -State Listen

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

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

Get-NetTCPConnection -LocalPort 22

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

Get-NetTCPConnection | Select-Object -Property *

Get-NetTCPConnection 选择对象属性 Get-NetTCPConnection 选择对象属性

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

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

赞(11)
未经允许不得转载:工具盒子 » 使用 Netstat 或 Powershell 查看 Windows 监听端口占用