用于查看特定端口的 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 命令(确切)的主要内容,如果未能解决你的问题,请参考以下文章