Windows で相手のポートが開いているか確認する方法
疎通確認などで、windowsの標準コマンドを利用して接続先のポートが開いているかの確認方法として
telnetを利用していたのですが、もうtelnetがデフォルトでインストールされないのでそれに代わるコマンドを紹介します。
やりたいこと
接続先のポートが開いているかを確認したい。
かつ、それをWindowsの標準コマンドで確認したい。
やり方
PowerShell で下記コマンドを実行します。
下記例は、接続先:192.168.11.100の3389ポートが開いているかの確認方法です。
Test-NetConnection 192.168.11.100 -Port 3389
実行結果(成功例)
実行結果はこんな感じで表示されます。
SourceAddressが自分のIPでRemoteAddressが接続先のIPです。
TcpTestSucceededがTrueなので3389が開いているという確認が取れました。
PS C:\Users\Administrator> Test-NetConnection 192.168.11.100 -Port 3389
ComputerName : 192.168.11.100
RemoteAddress : 192.168.11.100
RemotePort : 3389
InterfaceAlias : イーサネット 3
SourceAddress : 192.168.11.10
TcpTestSucceeded : True
実行結果(失敗例)
接続先の3389を閉じて再度確認すると、下記のようになります。
3389はNGだったけど、pingは通ったよ。という結果に。
ping確認までしてくれるなんて結構親切です。
PS C:\Users\Administrator> Test-NetConnection 192.168.11.100 -Port 3389
警告: TCP connect to 192.168.11.100:3389 failed
ComputerName : 192.168.11.100
RemoteAddress : 192.168.11.100
RemotePort : 3389
InterfaceAlias : イーサネット 3
SourceAddress : 192.168.11.10
PingSucceeded : True
PingReplyDetails (RTT) : 7 ms
TcpTestSucceeded : False