使用している端末のTCPポートのOPEN/CLOSE状態がPowershellで確認できます。
ということで、やってみました。
Test-NetConnection
Powershellで使用するコマンドは↓のものです。
1 |
Test-NetConnection |
使い方は↓のとおり。
1 2 3 4 5 |
Test-NetConnection [[-ComputerName] ] -Port [-InformationLevel ] [<CommonParameters>] |
他にも使い方はあります。
より詳細なことは、Microsoftのドキュメントに書いてあります。
TCP疎通確認
Raspberry Pi 4に対してTest-NetConnectionをしてみます。
なお、Raspberry Pi 4はAndroidアプリの『Net Analyzer』でポート22と3389がOPEN状態であることは確認しています。
TCPポートをの開放状態を確認する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
PS C:\WINDOWS\system32> Test-NetConnection 192.168.1.22 -Port 22 ComputerName : 192.168.1.22 RemoteAddress : 192.168.1.22 RemotePort : 22 InterfaceAlias : イーサネット SourceAddress : 192.168.1.XXX TcpTestSucceeded : True PS C:\WINDOWS\system32> Test-NetConnection 192.168.1.22 -Port 3389 ComputerName : 192.168.1.22 RemoteAddress : 192.168.1.22 RemotePort : 3389 InterfaceAlias : イーサネット SourceAddress : 192.168.1.XXX TcpTestSucceeded : True |
Raspberry Pi 4のIPアドレス192.168.1.22のポート22と3389に対してTest-NetConnectionしてみました。
『TcpTestSucceeded : True』となっているのでポート状態はOPENとなっているようです。
ちなみにCLOSE状態のポート80に対してもやってみたところ、『TcpTestSucceeded : False』となりました。
1 2 3 4 5 6 7 8 9 10 11 12 |
PS C:\WINDOWS\system32> Test-NetConnection 192.168.1.22 -Port 80 警告: TCP connect to (192.168.1.22 : 80) failed ComputerName : 192.168.1.22 RemoteAddress : 192.168.1.22 RemotePort : 80 InterfaceAlias : イーサネット SourceAddress : 192.168.1.XXX PingSucceeded : True PingReplyDetails (RTT) : 1 ms TcpTestSucceeded : False |
TcpTestSucceeded : Falseの場合は、『PingSucceeded : 』という項目が表示されました。
なので、Pingは成功したけどTCPTestは失敗したってことが分かりました。
詳細情報も加えて表示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
PS C:\WINDOWS\system32> Test-NetConnection 192.168.1.22 -Port 22 -InformationLevel Detailed ComputerName : 192.168.1.22 RemoteAddress : 192.168.1.22 RemotePort : 22 NameResolutionResults : 192.168.1.22 [ドメイン名] MatchingIPsecRules : NetworkIsolationContext : Private Network InterfaceAlias : イーサネット SourceAddress : 192.168.1.XXX NetRoute (NextHop) : 0.0.0.0 TcpTestSucceeded : True |
引数に『-InformationLevel Detailed』を付けると、より詳細な情報が表示されます。
NameResolutionResultsやNetRoute (NextHop)が表示されます。
PowershellはWindowsに標準で搭載されているツールなので、便利な外部ツールが使用できない環境においても利用できます。
TCPポートについてのみの確認なので利用シーンは限られるかもしれませんが、覚えておくとよさそうなツールです。
コメント