ピッシーのメモ帳

気になった情報の保管庫

PowerShellでTCPポートの疎通を確認する方法

リモートサーバのTCPポートの疎通確認をする際、TELNETかpsping.exeを使用していた。

learn.microsoft.com同じような作業がPowerShellでもできるみたいなので、メモ。

コマンド

Test-NetConnectionコマンドレットを使用する。

learn.microsoft.com

Windows8.1など古いOSでは使用できないので注意。

Windows10バージョン22H2やPowershell7.2で使用できたことを確認した。

使用例

リモートホスト192.168.10.1のTCP/80の疎通を確認する。

 Test-NetConnection 192.168.10.1 -Port 80 

成功した場合

ComputerName     : 192.168.10.1
RemoteAddress    : 192.168.10.1
RemotePort       : 80
InterfaceAlias   : Wi-Fi
SourceAddress    : 192.168.10.20
TcpTestSucceeded : True

「TcpTestSucceeded」がTrueになる。

失敗した場合

警告: TCP connect to (192.168.10.1 : 80) failed 

ComputerName           : 192.168.10.1
RemoteAddress          : 192.168.10.1
RemotePort             : 80
InterfaceAlias         : Wi-Fi
SourceAddress          : 192.168.10.20
PingSucceeded          : True
PingReplyDetails (RTT) : 3 ms
TcpTestSucceeded       : False

ご丁寧に警告メッセージまで出してくれる。

「TcpTestSucceeded」がFalseになる。

おわりに

Test-NetConnectionはPingみたいにICMPエコー要求も送信できるみたい。

参考にどうぞ。