问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Windows监听端口查看指南:Netstat与Powershell命令详解

创作时间:
作者:
@小白创作中心

Windows监听端口查看指南:Netstat与Powershell命令详解

引用
1
来源
1.
https://www.baoxiaoke.com/article/214551.html

在Windows系统中,监听端口是计算机当前正在使用的端口,用于建立计算机之间的网络连接。虽然打开、监听和关闭网络端口的过程是无缝的,但识别当前打开或监听的端口可以帮助解决与网络相关的问题。本文将介绍两种主要方法:使用Netstat命令和PowerShell命令,帮助IT专业人士和系统管理员快速查看Windows系统中正在使用的监听端口。

在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监听端口占用

  1. 还可以使用-State参数按状态筛选连接列表:
Get-NetTCPConnection -State Listen

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

  1. 也可以使用端口号来应用筛选器:
Get-NetTCPConnection -LocalPort 22
  1. 可以运行以下命令以获取每个连接的详细信息:
Get-NetTCPConnection | Select-Object -Property *

Get-NetTCPConnection选择对象属性

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

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

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号