Windowsでリモートホストのサービスへ接続できるか確認する方法

Windowsでリモートホストのサービスへ接続できるか確認する方法

ここでは、Windows環境で、リモートホストのサービスへ接続できるかをコマンドで確認する方法として、以下の3つの方法を紹介します。

  • Windows7時代から利用できるtelnetコマンドを使った方法
  • PowerShellコマンドレット「Test-NetConnection」を使った方法
  • Microsoftが提供している「PortQry」ツールを使った方法

この記事は、以下の環境で実行した結果を基にしています。他のエディションやバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェアバージョン
Windows 10 Pro 64bit22H2

telnetコマンドを使った方法

Windows 10や11では、そのため、telnetコマンドを利用するには、telnetクライアント機能を有効化する必要があります。

telnetコマンドは、通信データが暗号化されているサービスへは接続できず、宛先ポートもTCPポートしか指定できないため、最近では利用する機会はあまりありません。

telnetクライアントの有効化

Windows 10の場合

Windows 10でTelnetクライアントを有効化する手順は、次のとおりです。

Windowsの「設定」アプリから「アプリ」を選択します。

Windowsでリモートホストのサービスへ接続できるか確認する方法

「アプリ」画面が表示されるので「アプリと機能」から「オプション機能」をクリックします。

Windowsでリモートホストのサービスへ接続できるか確認する方法

「オプション機能」画面が表示されるので、最下部の「関連設定」にある「Windowsのその他の機能」をクリックします。

Windowsでリモートホストのサービスへ接続できるか確認する方法

「Windowsの機能」画面が表示されるので「Telnetクライアント」にチェックを入れ「OK」をクリックします。

Windowsでリモートホストのサービスへ接続できるか確認する方法

変更の適用処理が行われるので、そのまま待ちます。

Windowsでリモートホストのサービスへ接続できるか確認する方法

「必要な変更が完了しました。」と表示されたら「閉じる」をクリックします。

Windowsでリモートホストのサービスへ接続できるか確認する方法

以上でTelnetクライアントが有効になりました。

Windows 11の場合

Windows 11でTelnetクライアントを有効化する手順は、次のとおりです。

Windowsの「設定」アプリから「アプリ」>「オプション機能」を選択します。

Windowsでリモートホストのサービスへ接続できるか確認する方法

「オプション機能」の画面が表示されるので、最下部の「関連設定」にある「Windowsのその他の機能」をクリックします。

Windowsでリモートホストのサービスへ接続できるか確認する方法

「Windowsの機能」画面が表示されるので「Telnetクライアント」にチェックを入れ「OK」をクリックします。

Windowsでリモートホストのサービスへ接続できるか確認する方法

変更の適用処理が行われるので、そのまま待ちます。

Windowsでリモートホストのサービスへ接続できるか確認する方法

「必要な変更が完了しました。」と表示されたら「閉じる」をクリックします。

Windowsでリモートホストのサービスへ接続できるか確認する方法

以上でTelnetクライアントが有効になりました。

telnetコマンドの使い方

telnetコマンドで、リモートホストのサービスへ接続できるか確認するときは、コマンドプロンプトを起動して以下のようにコマンドを実行します。

> telnet <ホスト名> <ポート番号>

Test-NetConnectionを使った方法

Test-NetConnectionコマンドレットを使ってリモートホストのサービスへ接続できるか確認するときは、PowerShellを起動して以下のようにコマンドを実行します。

Test-NetConnectionコマンドレットは、宛先ポートはTCPポートしか指定できませんが、SSL/TLSやSSHなどの通信データが暗号化されたサービスに接続できるので、接続確認ならTest-NetConnectionコマンドレットを使った方法がおすすめです。

PS> Test-NetConnection <ホスト名> -port <ポート番号>

たとえば、当サイトのTCPポート443番への接続を確認するときは、以下のようにコマンドを実行します。

> Test-NetConnection 4thsight.xyz -port 443

ComputerName : 4thsight.xyz
RemoteAddress : 153.225.147.241
RemotePort : 443
InterfaceAlias : イーサネット
SourceAddress : 192.168.1.50
TcpTestSucceeded : True

出力内容の最終行に表示されている「TcpTestSucceeded:」がTCPポートへの接続結果で「True」は、接続できたということで、接続できなかった場合は「False」と表示されます。

Test-NetConnectionコマンドレットの詳細なヘルプは、以下の公式ページをご参照ください。

コマンドヘルプ(Test-NetConnection)

PortQryを使った方法

telnetコマンドやTest-NetConnectionコマンドレットは、宛先ポートはTCPポートにしか対応していないため、UDPポートへの接続を確認したいときは、Microsoftが提供している「PortQry」ツールを使った方法がおすすめです。

Download PortQry Command Line Port Scanner Version 2.0 from Official Microsoft Download Center

PortQryコマンドでは、TCPやUDPポートへの接続を確認でき、実行例は以下のようになります。(ここではローカルネットワーク上のDNSサーバーへの接続を確認してみました)

> PortQry.exe -n 192.168.10.254 -e 53 -p UDP

Querying target system called:

192.168.10.254

Attempting to resolve IP address to a name...

Failed to resolve IP address to name

querying...

UDP port 53 (domain service): LISTENING or FILTERED

Sending DNS query to UDP port 53...

UDP port 53 is LISTENING

最終行に「UDP port XX is LISTENING」と表示されていれば、接続できています。