用于查看特定端口的Windows命令(完全正确)

时间:2016-05-27 22:21:33

标签: regex port netstat

我正在尝试确定可用于检查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]+然后什么都没有显示出来。不确定如何解决查询问题。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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个像syscla ss .dll或 ss dpapi.dll ...等。