用于查看特定端口的 Windows 命令(确切)

Posted

技术标签:

【中文标题】用于查看特定端口的 Windows 命令(确切)【英文标题】:Windows command for looking at specific port (Exactly) 【发布时间】:2016-09-26 08:38:05 【问题描述】:

我正在尝试确定可以使用什么命令来检查 Windows 中是否正在使用端口。我查看了Command line for looking at specific port,但没有一个答案完全符合我的要求。

例如我想查看端口 500 是否在使用中,我会使用 netstat –an | findstr /r :500 但结果似乎是

 TCP    0.0.0.0:5000           0.0.0.0:0              LISTENING
 TCP    [::]:5000              [::]:0                 LISTENING
 UDP    0.0.0.0:500            *:*
 UDP    127.0.0.1:50027        *:*
 UDP    [::]:500               *:*

这不是我想要的。我试过netstat -an | findstr /r :500[\s]+ 然后什么都不会显示。不知道如何修复查询。

有什么想法吗?

【问题讨论】:

netstat -an | findstr /r ":500 " 也不起作用 netstat -an | findstr /r ":500[^0-9:]" - 500 后面没有数字或冒号(以避免出现在 IPv6 地址中) 酷,它有效。知道为什么使用 \s 的空白查询不起作用吗? 【参考方案1】:

FindStr 命令不支持完整的 PCRE 引擎。因此,虽然正则表达式断言[^0-9:] 不包括数字和冒号; \s 断言只是简单地转义了字母 s,然后它将只匹配字母 s。而在 PCRE 中 \s 代表空白。

另请参阅findstr documentation,其中指出\x 匹配元字符,但该文档没有详细介绍其他 PCRE 字符类,如 \s\w\d 等。

自己试试吧。从您的 c:\windows\system32 文件夹中,发出以下命令

dir | findstr \r "\s\s" | more

您应该会收到只有双 s 的文件列表,例如 sysclass.dll 或 ssdpapi.dll... 等。

【讨论】:

以上是关于用于查看特定端口的 Windows 命令(确切)的主要内容,如果未能解决你的问题,请参考以下文章

windows下查看特定端口被什么程序占用

windows系统如何查看端口被占用杀进程

Windows端口占用查看

Windows查看端口是否占用

Netstat查看端口状态,netstat命令详解

如何用命令查看防火强开启的入站规则端口号