PowerShell:使用 Test-NetConnection 诊断 TCP 端口上的超时与连接被拒绝

PowerShell:使用 Test-NetConnection 诊断 TCP 端口上的超时与连接被拒绝

我经常需要诊断网络连接问题,目前使用的Test-NetConnection是 PowerShell(版本 5.1)。输出告诉我端口是否可访问。如果不可访问,我想知道具体错误,例如timeoutconnection refused。到目前为止,我在输出中找不到这条信息。

是否可以使用 获取失败的连接尝试的具体错误消息Test-NetConnection? 如果可以,如何获取?

作为参考,这里有我得到的三个输出示例。

  1. 连接成功
Test-NetConnection somehostname -Port 1433 -InformationLevel Detailed

ComputerName            : somehostname
RemoteAddress           : 10.0.1.201
RemotePort              : 1433
NameResolutionResults   : 10.0.1.201
MatchingIPsecRules      :
NetworkIsolationContext : Private Network
InterfaceAlias          : Dialog
SourceAddress           : 10.0.2.150
NetRoute (NextHop)      : 10.0.2.99
TcpTestSucceeded        : True
  1. 从不同来源进行相同测试,中间设有防火墙
Test-NetConnection somehostname -Port 1433 -InformationLevel Detailed
WARNING: TCP connect to (10.0.1.201 : 1433) failed

ComputerName            : somehostname
RemoteAddress           : 10.0.1.201
RemotePort              : 1433
NameResolutionResults   : 10.0.1.201
MatchingIPsecRules      :
NetworkIsolationContext : Private Network
IsAdmin                 : False
InterfaceAlias          : Dialog
SourceAddress           : 10.0.2.38
NetRoute (NextHop)      : 10.0.2.35
PingSucceeded           : True
PingReplyDetails (RTT)  : 0 ms
TcpTestSucceeded        : False
  1. 在本地主机上测试关闭的端口
Test-NetConnection localhost -Port 12345 -InformationLevel Detailed
WARNING: TCP connect to (127.0.0.1 : 12345) failed
WARNING: TCP connect to (::1 : 12345) failed


ComputerName            : localhost
RemoteAddress           : 127.0.0.1
RemotePort              : 12345
NameResolutionResults   : 127.0.0.1
                          ::1
MatchingIPsecRules      :
NetworkIsolationContext : Loopback
InterfaceAlias          : Loopback Pseudo-Interface 1
SourceAddress           : 127.0.0.1
NetRoute (NextHop)      : 0.0.0.0
PingSucceeded           : True
PingReplyDetails (RTT)  : 0 ms
TcpTestSucceeded        : False

相关内容