我需要检查客户端是否可以连接到特定的TCP端口上的服务器。 服务器正在监听它。 尝试了“telnet server_IP端口”,但是当我看到它连接到服务器时,telnet卡住了。 似乎telnet等待从服务器的特定答复。
我需要的只是检查是否可以从这台工作站连接到服务器。 有没有办法做到这一点? 我更喜欢像telnet或其他的Windows工具。
编辑:主要目标是检查特定工作站可以到达此端口上的服务器。 这是诊断工具的一部分。 这个工具是从服务器运行的一个简单的脚本来诊断这个客户机/服务器系统的不同方面。 它需要工作站名称,并检查是否可以从这个工作站连接到服务器。 我想通过一个像telnet这样的标准工具来检查连通性,或者是来自Microsoft的其他任何东西,最好是已经安装在工作站上。 我打算从工作站上的Sysinternals的psexec运行它,并在服务器上接收结果。
尝试使用Microsoft命令行端口扫描程序portqry 。 这将告诉您可以从系统连接到哪些端口
如果telnet hostname port导致一个空白屏幕,并且左上angular有一个光标,则表示已连接。
没有其他工具是必要的。
这是一个VBScript TCP Ping解决scheme,我使用MSXML2 ServerXMLHTTP控件来testingtcp连接到一个端口。 它应该在大多数系统上工作,无需额外下载。
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 Function
如果您正在testing阻止端口的防火墙,而不是您的自定义应用程序在该端口上的服务器计算机上运行netcat,则从客户端连接到它,netcat将让您看到结果。 这将告诉你,如果该端口被阻止,而不是在你的应用程序的function抛出variables。