有没有一种方法可以从Windows命令行检查特定端口的状态?我知道我可以使用netstat来检查所有端口,但netstat很慢,而查看特定的端口可能不是。


当前回答

如其他地方所述:使用netstat,使用适当的开关,然后使用find[str]过滤结果

最基本的:

netstat -an | find ":N"

or

netstat -a -n | find ":N"

要找到一个你可以使用的外国端口:

netstat -an | findstr ":N[^:]*$"

要查找您可能使用的本地端口:

netstat -an | findstr ":N.*:[^:]*$"

其中N为您感兴趣的端口号。

-n确保所有端口都是数字,即不返回转换为服务名称的端口。

-a将确保你搜索所有的连接(TCP, UDP,监听…)

在find字符串中,必须包含冒号作为端口限定符,否则该数字可能匹配本地地址或外部地址。

您可以根据需要使用其他netstat开关进一步缩小搜索范围…

进一步阅读(^0^)

netstat /?

find /?

findstr /?

其他回答

Windows 8用户:打开命令提示符,输入netstat -an | find "your port number",输入。

如果回复是LISTENING,那么端口正在使用中,否则它是空闲的。

它会给你一个特定IP上所有活动的套接字:

netstat -an | find "172.20.1.166"

如其他地方所述:使用netstat,使用适当的开关,然后使用find[str]过滤结果

最基本的:

netstat -an | find ":N"

or

netstat -a -n | find ":N"

要找到一个你可以使用的外国端口:

netstat -an | findstr ":N[^:]*$"

要查找您可能使用的本地端口:

netstat -an | findstr ":N.*:[^:]*$"

其中N为您感兴趣的端口号。

-n确保所有端口都是数字,即不返回转换为服务名称的端口。

-a将确保你搜索所有的连接(TCP, UDP,监听…)

在find字符串中,必须包含冒号作为端口限定符,否则该数字可能匹配本地地址或外部地址。

您可以根据需要使用其他netstat开关进一步缩小搜索范围…

进一步阅读(^0^)

netstat /?

find /?

findstr /?

我使用:

netstat –aon | find "<port number>"

其中o表示进程ID。 现在你可以对进程ID做任何事情。 要终止进程,例如,使用:

taskkill /F /pid <process ID>

您可以将netstat与-np标志和指向find或findstr命令的管道结合使用。

基本用法是这样的:

netstat -np <protocol> | find "port #"

例如,在TCP上检查端口80,你可以这样做:netstat -np TCP | find "80" 它最终会给出如下类型的输出:

TCP    192.168.0.105:50466    64.34.119.101:80       ESTABLISHED
TCP    192.168.0.105:50496    64.34.119.101:80       ESTABLISHED

如您所见,这仅显示TCP协议端口80上的连接。