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


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


76
2017-07-02 18:01




有关: superuser.com/questions/11207/... - Pacerier


答案:


前几天我在微软发现了一个用于测试端口的hiddem gem:

Portqry.exe将

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


59
2017-07-02 18:30



注意:尝试从Microsoft下载此页面返回一个页面,指出下载“不再可用”。 - dgw
@dgw谢谢你...谷歌显示一个新的版本,如果你搜索`portray'明天我会检查 - Peter M
控制台版 microsoft.com/downloads/... 和ui版本: download.microsoft.com/download/3/f/4/... 参考: support.microsoft.com/en-us/help/310099/... - Junior M


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

Test-NetConnection 128.159.1.1 -Port 80

一些谷歌搜索还将提供直接使用.NET Framework的替代方案(因为PowerShell允许您这样做)用于运行较低版本Windows但不具备的系统 Test-NetConnection 可用。

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


40
2017-10-16 06:18



.Net方法: $connection = (New-Object Net.Sockets.TcpClient).Connect($target,$port); If ($connection.Connected) { $connection.Close() } - xXhRQ8sD2L7Z
在Win7上,这不起作用:-( - samsmith
@samsmith你是在谈论我的答案中的命令,还是一个ST8Z ...的评论?我答案中的一个 只要 适用于Win8 / 2k12及更高版本,答案也是如此。 - Iszi
似乎是Windows 8.1 - 似乎无法在Windows 8上找到它 - Andy Krouwel
在Windows 10上运行良好,我不需要安装任何程序或添加任何功能。谢谢! :) - Steve Bauman


使用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
2017-07-02 18:05



不适用于UDP。 - Adriano Varoli Piazza
UDP是无连接的.. - Amalgovinus


Telnet将适用于TCP。

Netcat是一个更好的工具,包括UDP在内的这类东西,但请注意,一些AV软件认为它是一个“邪恶的黑客工具”


7
2017-07-02 18:07





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

netstat -a

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

microsoft.com上的Netstat文档


1
2017-07-11 13:05



问题是关于a的开放端口 远程 机器,不是本地的。 - Chris S


使用 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
2017-10-25 12:48





'netstat'是你的朋友。


-4
2017-07-02 18:03



本地机器是的,远程机器没有。
此答案在编辑之前发布,指定它是关于远程计算机上的端口。