当前位置: 代码网 > it编程>前端脚本>Powershell > 查看Windows监听端口占用的两种命令: Netstat或Powershell用法

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

2024年11月05日 Powershell 我要评论
监听端口是计算机当前正在使用的端口,用于建立计算机之间的网络连接。虽然打开、监听和关闭网络端口的过程是无缝的,但识别当前打开或监听的端口可以帮助解决与网络相关的问题。在 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 监听端口占用

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 的计算机上运行。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com