如何检查从 Windows 主机到 Linux 主机的连接性?在 Linux 中我们使用nc
命令。在 PowerShell 或 cmd 中是否有等效命令?
Linux 中的命令:
nc -vz IP PORT
我需要类似的 cmd 或 PowerShell 命令。
答案1
从 PowerShell。
如果您只想测试 TCP 端口并且有 Net 4.5,则可以使用类似以下内容:
$i = New-Object -TypeName System.Net.Sockets.TCPClient; $i.ConnectAsync(IP, PORT); $i.Connected; $i.Close()
对于早期版本,可以使用以下更简单的 true / false 版本。
$i = New-Object -TypeName System.Net.Sockets.TCPClient; $i.Connect(IP, PORT); $i.Connected; $i.Close()
否则使用动力猫这是一个非原生附加功能,通过使用原生 PowerShell 版本 2 组件,它具有类似 netcat 的功能。首先,您需要加载该功能,然后才能执行它。从此处查找并安装它https://github.com/besimorhino/powercat
正如之前的评论中提到的,对于 Windows 8.1 和 Windows Server 2012 R2,Microsoft 发布了 Powershell 4。cmdlet测试网络连接可用于解决网络连接问题。遗憾的是,它使用了早期操作系统中没有的独特方法。
也提供测试端口脚本https://gallery.technet.microsoft.com/scriptcenter/97119ed6-6fb2-446d-98d8-32d823867131#content