クライアントが特定のTCP=ポートでサーバーに接続できるかどうかを確認する必要があります。サーバーはそのポートをリッスンしています。「telnet server_IPポート」を試してみましたが、サーバーに接続されているのを確認すると、telnetがスタックします。 telnetはサーバーからの特定の応答を待機しているようです。
このワークステーションからサーバーに接続できるかどうかを確認するだけです。これを行う方法はありますか?私はtelnetなどのWindowsツールを好みます。
編集:主な目的は、特定のワークステーションがこのポートでサーバーに到達できることを確認することです。これは診断ツールの一部です。このツールは、このクライアント/サーバーシステムのさまざまな側面を診断するためにサーバーから実行される単純なスクリプトです。ワークステーション名を取得し、このワークステーションからサーバーに接続できるかどうかを確認します。 TelnetやMicrosoftのその他の標準ツールを使用して接続を確認したいのですが、ワークステーションにインストール済みであることが望ましいです。ワークステーションのSysinternalsからpsexecで実行し、サーバーで結果を受け取る予定です。
Microsoftのコマンドラインポートスキャナーである portqry を試してください。これにより、システムから接続できるポートがわかります
telnet hostname port
すると、左上隅にカーソルがある空白の画面が表示され、接続されます。
それ以上のツールは必要ありません。
以下はVBScriptですTCP PingソリューションでMSXML2 ServerXMLHTTPコントロールを使用してポートへのTCP接続をテストしました。追加のダウンロードなしでほとんどのシステムで動作するはずです。
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
ファイアウォールをテストしてポートをブロックしている場合は、カスタムアプリケーションの代わりに、該当するポートのサーバーマシンでnetcatを実行し、クライアントから接続すると、netcatで結果を確認できます。これにより、ポートがブロックされているかどうかがわかり、アプリケーションの機能に関する変数がスローされません。