Powershellで開いているTCPポートを調べる(Test-NetConnection)

Windows
この記事は約5分で読めます。

 

使用している端末のTCPポートのOPEN/CLOSE状態がPowershellで確認できます。

 

ということで、やってみました。

 

 

                 

Test-NetConnection

 

Powershellで使用するコマンドは↓のものです。

Test-NetConnection

 

使い方は↓のとおり。

Test-NetConnection
    [[-ComputerName] ]
    -Port 
    [-InformationLevel ]
    [<CommonParameters>]

他にも使い方はあります。

より詳細なことは、Microsoftのドキュメントに書いてあります。

TCP疎通確認

 

Raspberry Pi 4に対してTest-NetConnectionをしてみます。

なお、Raspberry Pi 4はAndroidアプリの『Net Analyzer』でポート22と3389がOPEN状態であることは確認しています。

 

 

TCPポートをの開放状態を確認する

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』となりました。

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は失敗したってことが分かりました。

 

 

詳細情報も加えて表示

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ポートについてのみの確認なので利用シーンは限られるかもしれませんが、覚えておくとよさそうなツールです。

コメント

タイトルとURLをコピーしました