Windows 10で接続確認するならtelnetじゃなくTest-NetConnectionで

Windows 10で接続確認するならtelnetじゃなくTest-NetConnectionで

Windows 7以前の環境で、リモートマシンのTCPポートへの接続確認するコマンドランツールとして活躍したtelnetコマンドですが、Windows 8以降では標準では搭載されておらず、telnetコマンドを使いたい場合は機能を追加する必要があります。

そこでここでは、telnetコマンドの代わりに利用できるPowerShellコマンドレット「Test-NetConnection」を使って、リモートマシンのTCPポートへの接続を確認する方法を紹介します。

Windows 10や11でTelnetコマンドを利用する方法
Telnetコマンドは、Windows環境でも利用できますが、WindowsVista以降は標準では有効化されておらず、利用するためには「Telnetクライアント」機能を有効化する必要があります。

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

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

Test-NetConnectionの使い方

「Windows PowerShell」を起動し、以下のコマンドレットを実行します。

例として、このサイトの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」コマンドレットの詳細なヘルプは、以下の公式ページをご参照ください。

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

UDPポートへの接続を確認したいときは

ちなみに、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」と表示されていれば、接続できています。

あとがき

PowerShellをもっと学ばねばと思った今日このごろです。