コマンドプロンプトのtelnetコマンドでポートの疎通確認を行う方法|PowerShellでの代替手段も紹介

目次

スポンサードリンク

ネットワークトラブルやサーバー設定時に、「あるポートに接続できるか(疎通しているか)」を確認が必要になる場面があります。WindowsではコマンドプロンプトやPowerShellを使ってポートの疎通確認が可能です。この記事では、代表的な確認方法を紹介します。

ポート疎通確認とは?

疎通確認とは、「特定のIPアドレス+ポート番号に対して、接続が可能かどうかを調べる作業」です。例えば、Webサーバーであれば 80番ポートや443番ポート、SSHの 22番ポート、データベースの 3306番ポートなどが対象になります。

telnetコマンドでポートの疎通を確認する方法

Windowsに標準搭載されている telnet コマンドを使えば、対象のポートに接続可能か確認できます。telnet コマンドの基本的な構文は以下の通りです。

telnet [ホスト名 or IPアドレス] [ポート番号]

// 実行例
telnet example.com 80

接続が成功すると、コマンドプロンプトで入力を受け付ける状態(画面が黒いまま)になります。「接続できませんでした」と表示される場合はポートが解放されていないか、接続先のファイアウォールでブロックされている可能性があります。

telnetが使えない場合

初期状態ではtelnetコマンドが無効になっていることが多く、機能を有効化する必要があります。コントロールパネルから機能を有効化することができます。

「プログラム」 → 「Windowsの機能の有効化または無効化」を選択し、「Telnetクライアント」にチェックを入れてOKを押しましょう。

また、コマンドでもtelnetコマンドを有効にすることができます。管理者権限でコマンドプロンプトを開き、以下コマンドを実行します。

C:\Windows\System32>dism /online /Enable-Feature /FeatureName:TelnetClient

展開イメージのサービスと管理ツール
バージョン: 10.0.26100.1150

イメージのバージョン: 10.0.26100.4061

機能を有効にしています
[==========================100.0%==========================]
操作は正常に完了しました。
Windows を再起動してこの操作を完了してください。
今すぐコンピューターを再起動しますか? (Y/N) N

PowerShellのTest-NetConnectionで疎通確認する方法

Windows 10以降であれば、PowerShellの Test-NetConnection コマンドで疎通確認を行うことができます。接続に成功すると、以下のように表示されます。

PS C:\Users\username> Test-NetConnection uchy.me -Port 443


ComputerName     : uchy.me
RemoteAddress    : 49.212.235.185
RemotePort       : 443
InterfaceAlias   : Wi-Fi
SourceAddress    : 192.168.1.59
TcpTestSucceeded : True

接続に失敗した場合は以下のように表示されます。

PS C:\Users\username> Test-NetConnection example.com -Port 999
警告: TCP connect to (2600:1406:bc00:53::b81e:94c8 : 999) failed

まとめ

ポート疎通はトラブルシューティングで重要なステップです。 telnet や Test-NetConnection を使って、対象のポートに接続できるかすぐ確認できるようにしておきましょう。


コマンドプロンプトのポケットリファレンス:Windows11対応版
Windows環境で開発やシステム管理を行うエンジニアにとって、コマンドプロンプトの知識は非常に重要なスキルセットです。こちらの書籍は初心者にもわかりやすく網羅的です。手元に置いておきたい一冊です。

PowerShellの基礎を一通り学べるおすすめ書籍