我需要检查客户端是否可以连接到特定TCP端口上的服务器。服务器正在监听它。尝试过"telnet server_IP端口“,但当我看到它连接到服务器时,telnet就被卡住了。似乎telnet在等待服务器的具体答复。
我需要的只是检查是否可以从这个工作站连接到服务器。有办法这样做吗?我更喜欢像telnet之类的Windows工具。
编辑:主要目的是检查特定工作站是否可以到达此端口上的服务器。这是诊断工具的一部分。这个工具是一个简单的脚本,从服务器运行到diagnos这个客户机/服务器系统的不同方面。它使用工作站名称,并检查是否可以从此工作站连接到服务器。我想通过一个标准工具来检查连接性,比如telnet或者微软的其他任何东西,最好它应该已经安装在工作站上了。我计划在工作站上通过psexec从Sysinternals运行它,并在服务器上接收结果。
发布于 2012-01-24 14:20:20
试试波特里,微软命令行端口扫描器。这将告诉您可以从系统连接到哪些端口。
发布于 2012-01-24 11:37:29
如果telnet hostname port导致左上角有光标的空白屏幕,则连接。
不需要更多的工具。
发布于 2013-02-26 03:31:41
下面是我提出的一个VBScript TCP解决方案,它使用MSXML2 ServerXMLHTTP控件测试到端口的ServerXMLHTTP连接。它应该在没有任何额外下载的情况下在大多数系统上工作。
address = "www.example.com"
WScript.Echo "http: " & TCPPing( address, 80)
WScript.Echo "ssh: " & TCPPing( address, 22)
WScript.Echo "smb: " & TCPPing( address, 139)
WScript.Echo "https: " & TCPPing( address, 443)
Function TCPPing( address, port )
Set xhr = WScript.CreateObject("MSXML2.ServerXMLHTTP")
xhr.SetTimeouts 8000,8000,8000,8000
On Error Resume Next
xhr.Open "GET", "http://" & address & ":" & port, False
xhr.Send
Select Case Err.Number
' ok, tcp connect but no web response, 401 auth failure
Case 0, -2147012744, -2147024891
msg = "OK"
Case -2147012867
msg = "Connection Rejected"
Case -2147012894
msg = "Timed out"
Case -2147012889
msg = "Could not resolve address"
Case -2147467259
msg = "Cannot test that port with this tool"
Case Else
msg = "Unknown error " & Err.Number
End Select
On Error Goto 0
Set xhr = Nothing
TCPPing = msg
End Functionhttps://serverfault.com/questions/353047
复制相似问题