it-swarm.cn

在Windows中,如何使用命令行检查远程端口是否打开?

在Windows中测试通信是否通过远程计算机上特定端口的简单方法是什么?

90
Matt

前几天,我从Microsoft找到了一个用于测试端口的隐藏宝石:

Portqry.exe

“ Portqry.exe是一个命令行实用程序,可用于帮助解决TCP/IP连接问题。Portqry.exe在基于Windows 2000的计算机,基于Windows XP的计算机,以及基于Windows Server 2003的计算机上。该实用工具报告TCP和您选择的计算机上的UDP端口的端口状态。“

62
Peter M

哪个版本的Windows?对于Windows 8/Server 2012和更高版本,以下功能在PowerShell中起作用:

Test-NetConnection 128.159.1.1 -Port 80

某些Google搜寻还会出现一些选择,这些选择直接为运行较低版本Windows且没有Test-NetConnection可用。

如果您不反对使用第三方实用程序,则 Nmap 也是一个很好的朋友,它可以从命令行使用。

59
Iszi

使用telnet命令连接到指定端口上的服务器,并查看是否可以建立连接。

成功:

$ telnet my_server 25
220 my_server ESMTP Postfix

失败:

$ telnet my_server 23632
Connecting To my_server...Could not open connection to the Host, on port 23632:
Connect failed
23
Jørn Schou-Rode

Telnet将适用于TCP。

Netcat是处理这类问题(包括UDP)的更好工具,但请注意,某些视音频软件将其视为“邪恶的黑客工具”

7
whatsisname

以下命令将列出计算机上所有正在使用的端口...

netstat -a

输出包含协议,本地地址,外部地址和当前状态

Microsoft.com上的Netstat文档

1
Baldy

使用netcat Windows端口

>nc -zvv www.google.com 80
www.google.com [108.177.96.103] 80 (http) open
sent 0, rcvd 0
>

>nc -zvv www.google.com 888
www.google.com [108.177.96.147] 888 (?): TIMEDOUT
sent 0, rcvd 0: NOTSOCK
>
0
rustyx