技術情報

【PowerShell】指定ポートが開いているかを確認する方法(Test-NetConnection)

こんにちは、ポート確認 ばにゃです。

Test-NetConnection ポート確認

本記事では、PowerShellを使用して指定ポートが空いているかどうかを確認する方法について解説します。

結論として、Test-NetConnection コマンドを実行することで確認可能です。

Test-NetConnection <接続先の端末> -Port <ポート番号>

もしくは Test-NetConnection の省略形である TNC コマンドでも確認可能です。

tnc <接続先の端末> -Port <ポート番号>

もう少し詳細について知りたい方は以降に記載する内容も確認してください。

スポンサーリンク

前提となる環境

本記事では、以下のような環境を例として記載します。
この環境で私自身が実機動作確認済みの手順となります。

環境
  • Windows 8.1
  • Windows 10
  • Windows Server 2012 R2
  • Windows Server 2016
  • Windows Server 2019

Test-NetConnection コマンド

ポートが開いているかを確認する方法

接続先端末のIPアドレスが 10.0.0.1、確認したいポートが 22 の場合
PowerShellより実行するコマンドは以下の通りです。

Test-NetConnection 10.0.0.1 -Port 22

ポートが開いているかどうかは、実行結果の TcpTestSucceeded の値を確認します。
True ならば開いている、False ならば開いていないと判断します。

指定ポートが開いている場合、以下のような結果が返ってきます。

ComputerName : 10.0.0.1
RemoteAddress : 10.0.0.1
RemotePort : 22
InterfaceAlias : Wi-Fi 
SourceAddress : 192.168.1.1 
TcpTestSucceeded : True

指定ポートが開いていない場合、以下のような結果が返ってきます。

ComputerName : 10.0.0.1
RemoteAddress : 10.0.0.1
RemotePort : 22
InterfaceAlias : Wi-Fi
SourceAddress : 192.168.1.1
PingSucceeded : False
PingReplyDetails (RTT) : 0 ms
TcpTestSucceeded : False

True or False のみを返す

以下のように -InformationLevel Quiet を付けて実行します。

Test-NetConnection 10.0.0.1 -Port 22 -InformationLevel Quiet

この場合、結果として Ture or Flase のみが返ってきます。

SMB / HTTP / RDP / WINRM ポートを確認

SMB (445) / HTTP (80) / RDP (3389) / WINRM (5985) のポートが開いているかを確認したい場合は、以下のようなコマンドでも可能です。

Test-NetConnection 10.0.0.1 -CommonTCPPort SMB

Test-NetConnection 10.0.0.1 -CommonTCPPort HTTP

Test-NetConnection 10.0.0.1 -CommonTCPPort RDP 

Test-NetConnection 10.0.0.1 -CommonTCPPort WINRM

Googleに対してポート443が開いているかを確認

試しに google.co.jp に対して ポート443が開いているのかを確認してみます。

Test-NetConnection google.co.jp -Port 443

ComputerName : google.co.jp
RemoteAddress : xxx.xxx.xxx.xxx
RemotePort : 443
InterfaceAlias : Wi-Fi
SourceAddress : xxx.xxx.xxx.xxx
TcpTestSucceeded : True

結果は True、開いています。

参考情報

Microsoft ドキュメント

Test-NetConnection コマンドについては、Microsoft の以下サイトも参考にしてください。

関連書籍

PowerShell 6.0 まで対応している PowerShell 関連の書籍です。
現状で 6.0 まで対応している数少ない書籍のため、PowerShell の学習におすすめです。

にほんブログ村 IT技術ブログへ
にほんブログ村


コメント