如何使用 PowerShell 检查远程端口是否打开?
早些时候我们使用 telnet 客户端来检查远程端口连接,事实上,我们现在仍然使用 cmd 和 PowerShell 来进行操作,但是此功能并非操作系统默认安装,并且一些公司对安装新功能(包括 telnet)有限制。
我们可以利用 PowerShell 在不安装 telnet 的情况下测试远程端口连接,并使用 Test-NetConnection 命令。此命令对于其他诊断也很有用,但我们这里重点关注远程端口检查。
要检查远程端口是否打开,我们可以使用 **Test-NetConnection** 命令,它需要 -ComputerName 参数和 -Port 参数来检查远程端口状态。
Test-NetConnection -ComputerName Test1-Win2k12 -Port 80
输出
ComputerName : Test1-Win2k12 RemoteAddress : 192.168.0.107 RemotePort : 80 InterfaceAlias : Ethernet0 SourceAddress : 192.168.0.106 TcpTestSucceeded : True
以上示例将检查远程服务器 Test1-Win2k12 上的 80 端口连接。
您可以看到 TcpTestSucceeded 属性为 true,因此端口已打开。下面显示的另一个示例是 WInRM https 端口 5986。
Test-NetConnection -ComputerName Test1-Win2k12 -Port 5986
输出
WARNING: TCP connect to Test1-Win2k12:5986 failed ComputerName : Test1-Win2k12 RemoteAddress : 192.168.0.107 RemotePort : 5986 InterfaceAlias : Ethernet0 SourceAddress : 192.168.0.106 PingSucceeded : True PingReplyDetails (RTT) : 0 ms TcpTestSucceeded : False
您可以看到 WinRM SSL 端口在远程服务器上未打开,并且在第一行以及 TcpTestSucceeded 属性中都显示了警告消息。
广告