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

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

    我从微软那天发现了一个用于testing端口的hiddem gem:

    Portqry.exe将

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

    哪个版本的Windows? 对于Windows 8 / Server 2012及更高版本,以下PowerShell中的工作:

    Test-NetConnection 128.159.1.1 -Port 80 

    一些谷歌search也将启动替代scheme,直接使用.NET框架(因为PowerShell允许你这样做)运行较低版本Windows的系统将不会有Test-NetConnection

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

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

    成功:

     $ 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 

    Telnet将为TCP工作。

    对于这些types的东西,Netcat是一个更好的工具,包括UDP,但是一些AV软件认为它是一个“邪恶的黑客工具”

    以下命令将列出机器上正在使用的所有端口…

     netstat -a 

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

    microsoft.com上的Netstat文档

    使用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 > 

    'netstat'是你的朋友。