我试图在服务器上的替代端口下安装站点,但端口可能被防火墙关闭。是否有一种方法可以ping出或ping入一个特定的端口,以查看它是否打开?


当前回答

我发现的另一个实用程序是PortQry命令行端口扫描器2.0版,它也很好,也很小。

你可以ping一个服务器和一个端口,它会告诉你端口的状态。有一个命令行实用程序和它的UI。

其他回答

以下是对我有效的方法:

打开命令提示符 远程登录类型 Microsoft Telnet>open <主机名或IP地址><空间><端口>

它将确认端口是否打开。

如果你从外部检查,而不是从服务器本身检查,并且你不想安装telnet(因为它没有随最新版本的Windows提供)或任何其他软件,那么你有原生的PowerShell:

Test-NetConnection -Port 800 -ComputerName 192.168.0.1 -InformationLevel Detailed

(不幸的是,这只适用于PowerShell 4.0或更新版本。要检查PowerShell版本,输入$PSVersionTable。)

PS:注意,这些天在twitter上有一些声明,暗示这个答案可以通过提到PowerShell Core中的“Test-Connection”或快捷键“tnc”来改进。请参阅https://twitter.com/david_obrien/status/1214082339203993600并帮助我编辑这个答案以改进它!


(如果你的PSVersion < 4.0,你就不走运了。查看这个表格:

尽管你可以通过安装Windows管理框架4.0来升级你的PowerShell版本,但它对我来说并没有什么用,Test-NetConnection cmdlet仍然不可用)。

来自Sysinternals的pspring也非常好。

在Windows机器上,您可以使用Microsoft的PortQry来检查应用程序是否已经在侦听特定端口,使用以下命令:

portqry -n 11.22.33.44 -p tcp -e 80

如果你想查看Windows服务器上所有被使用和监听的端口,使用这个:

netstat -an |find /i "listening"

查看所有开放、监听、已建立的端口:

netstat -a