検索
連載

Windows OSの「Telnet」クライアントの使い方Tech TIPS(1/2 ページ)

古いネットワーク機器のトラブルシューティングやネットワークプロトコルの学習などのために、「Telnet」コマンドを使って直接サーバに接続する際に必要なインストール手順、ポート名の指定、Telnetのコマンドモード、漢字コードの設定方法などを解説する。

Share
Tweet
LINE
Hatena
「Tech TIPS」のインデックス

連載目次

Windows OSの「Telnet」クライアントの使い方

対象OS:Windows 10/Windows 11、Windows Server 2012/Windows Server 2012 R2/Windows Server 2016/Windows Server 2022


Telnetコマンドとは?

 「Telnet」は、古くから管理作業などを行うためにネットワーク経由でリモートのマシンへ「Telnetプロトコル」(→プロトコル規格書)でログインする場合に、しばしば用いられてきたツールである。ただ、現在では通信を暗号化できるSSHで代替されることがほとんどだ。

 それでも、古いネットワーク機器や組み込み系システムのトラブルシューティングやデバッグでは、Telnetクライアントプログラムを使う機会も残っている。

 またTelnetでは、基本的には単純な文字コードでしか通信ができないが故に、ネットワークプロトコルにおける、プリミティブな(基本的な)コマンドやデータ、ステータスなどのやりとりを調べやすい。プロトコルを学ぶのにも意外と便利だ(ネットワークモニターの方が万能ではあるが)。

 実は、最新のWindows OSにもTelnetクライアントプログラムはいまだ標準で付属している。本Tech TIPSでは、Windows OS標準のTelnetクライアントのインストール方法とTelnetの基本的な使い方を紹介する。

 なお、Telnetには標準的な暗号化機能がなく、通信内容の盗聴や改ざん、通信先のなりすましなどに対して脆弱(ぜいじゃく)なプロトコルと言わざるを得ない。利用する際には、Telnetサーバ/クライアント間の通信を他のセキュリティ機器・機能で保護するなど対策をしていただきたい。

Telnetクライアントをインストールする

 Windows OSのTelnetのクライアントプログラムはデフォルトではインストールされていない。ユーザーが必要に応じて機能を追加する必要がある。

●Windows 10/11にTelnetクライアントをインストールする

 Windows 10/11を含むWindowsクライアントOSの場合、Telnetクライアントはコントロールパネルからインストールできる。コントロールパネルの起動方法は以下のTech TIPSを参照してほしい。

Windows 10/11にTelnetクライアントをインストールする(1/3)
Windows 10/11にTelnetクライアントをインストールする(1/3)
Windows 10/11にTelnetクライアントをインストールする(2/3)
Windows 10/11にTelnetクライアントをインストールする(2/3)

■操作手順

  1. コントロールパネルを起動し、[プログラム]−[プログラムと機能]を開く
  2. 左側のメニューにある[Windowsの機能の有効化または無効化]をクリック
  3. Windowsの機能」ダイアログ(追加する機能の一覧画面)が表示されるので、[Telnetクライアント]という項目にチェックを入れて「オン」にする
  4. OK]ボタンをクリックするとインストールが始まり、すぐ完了する

 Windows 10なら[Windowsの設定]アプリ、Windows 11なら[設定]アプリからのインストールも可能だ。以下のように操作すると、上記の[Windowsの機能]ダイアログを開くことができる。

  • Windows 10: [Windowsの設定]アプリの[アプリ]−[アプリと機能]−[オプション機能]画面の「関連設定」欄にある[Windowsのその他の機能]をクリック
  • Windows 11: [設定]アプリの[アプリ]−[オプション機能]画面の「関連設定」欄にある[Windowsのその他の機能]をクリック

●Windows ServerにTelnetクライアントをインストールする

 Windows Serverの場合、Telnetクライアントはサーバーマネージャーからインストールできる。

Windows ServerにTelnetクライアントをインストールする(1/3)
Windows ServerにTelnetクライアントをインストールする(1/3)
Windows ServerにTelnetクライアントをインストールする(2/3)
Windows ServerにTelnetクライアントをインストールする(2/3)

■操作手順

  1. サーバーマネージャーを起動し、[管理]メニューの[管理と機能の追加]クリック
  2. 役割と機能の追加ウィザード」が現れるので、デフォルトの設定のまま「機能の選択」画面まで進む
  3. 機能一覧表の中から[Telnetクライアント]にチェックを入れて「オン」にする
  4. デフォルトの設定のまま、[次へ][インストール]ボタンをクリックしてウィザードを完了させる

 なおTelnetのサーバ機能(リモートからログインしてコマンドプロンプトを使わせる機能)は、Windows 10およびWindows Server 2016以降では廃止され、インストールできなくなっている(Telnetのクライアント機能のみ利用可能)。

Telnetの基本的な使い方

 Telnetの一番基本的な使い方は、コマンドプロンプトを起動して、そこで接続先サーバ名(ホスト名)を指定してTelnetクライアントを起動するという方法である。

C:\>telnet <ホスト名>



 これを実行すると、<ホスト名>で指定されたリモートマシンの「Telnetサーバ」へ接続される。<ホスト名>には、実際にはコンピュータの名前やFQDNで指定したマシンの名前、IPアドレスなどを指定する。

 Telnetサーバとは、TCPの(標準では)23番ポートでリッスン(待ち受け)している、仮想的な端末との通信プロトコルを提供するサービスである。このサービスに接続すると、リモートマシン上のコンソールで直接文字を入力して、コマンドを実行しているのと同じ効果が得られる。

C:\>telnet myserver01 ……リモートのWindows Serverへtelnet接続してみる
Microsoft Telnet クライアントへようこそ ……Telnetクライアントの表示

エスケープ文字は 'CTRL+]' です ……「エスケープ文字」については後述
Welcome to Microsoft Telnet Service ……Telnetサーバからの応答

login: user01 ……ログオン名とパスワードを入力する
password:

*===================================
Microsoft Telnet Server. ……Windows Server 2012 R2のTelnetサーバサービスの応答
*===================================
C:\Users\user01.MYSERVER01>dir ……dirコマンドを実行してみる
 ドライブ C のボリューム ラベルは SERVER2012 です
 ボリューム シリアル番号は 6D3F-45C2 です

 C:\Users\user01.MYSERVER01 のディレクトリ

2016/09/08  13:15    <DIR>      .
2016/09/08  13:15    <DIR>      ..
2013/08/23  00:39    <DIR>      Desktop
2016/09/08  13:15    <DIR>      Documents
……(中略)……
2013/08/23  00:39    <DIR>      Videos
          0 個のファイル                   0 バイト
         11 個のディレクトリ  57,389,125,632 バイトの空き領域

C:\Users\user01.MYSERVER01>exit ……リモートからログオフする

ホストとの接続が切断されました。 ……相手側が先にクローズすると、このようなメッセージが表示される

C:\> ……ローカルのコマンドプロンプト表示



ポート番号を指定してTelnetで接続する

 Telnetは、標準ではTelnetサーバ(TCPの23番)のポートへ接続するようになっている。しかし、オプションで指定すれば、これを変更できる。例えばWebサーバなら80番、SMTPサービスなら25番、POPサービスなら110番などがよく使われるポート番号である(いずれも暗号化なしの場合)。

 これらのサービスでは、主にテキストによってコマンドやその応答をやりとりしているので、Telnetコマンドで接続して、容易にそのサービスをチェックしたり、トラブルシューティングなどを行ったりすることができる(ただしSSL/TLSやSSHなどで暗号化されている通信は、Telnetでは対処できない)。

 Telnetで接続するポート番号を変更するには、以下のように、ホスト名に続けてポート番号を指定する。

C:\>telnet <ホスト名> <ポート番号>
例:
telnet server1 25 ……ポート番号を数値で指定する
telnet server1 smtp ……ポート番号をサービス名で指定する



 ポート番号は、数値で指定してもよいし、サービスを表す文字列で指定してもよい。実際のポート番号とサービス名の対応は「%windir%\system32\drivers\etc\services」ファイルに格納されている(UNIXやLinuxの/etc/servicesファイルに相当する)。

 例えばメール送信用のSMTPサーバに接続するには、次のようにする。

C:\>telnet mailserver smtp ……SMTPサーバへ接続してみる例
エスケープ文字は 'CTRL+]' です
220 ac60a8e47b4f ESMTP Exim 4.82 Ubuntu Thu, 08 Sep 2016 03:42:23 +0000 ……SMTPサーバからの応答(グリーティングメッセージ)
HELP ……ここで「HELP」コマンドを送信してみる
214-Commands supported: ……SMTPサーバからの応答
214 AUTH HELO EHLO MAIL RCPT DATA NOOP QUIT RSET HELP ……このサーバでは、これらのコマンドがサポートされているという意味
QUIT ……「QUIT」コマンドで通信を終了させる
221 ac60a8e47b4f closing connection

ホストとの接続が切断されました。

C:\>



 接続直後に一瞬だけ表示される「エスケープ文字は 'CTRL+]' です」というメッセージは、Telnetクライアント自身が出力している文字列である(詳細は後述。実際にはすぐに画面が切り替わってしまうので、これを見る機会は少ないが)。

 その次の「220 〜〜」から先が実際のSTMPサーバからの応答である。この例のように、サーバ側から何らかのメッセージ(グリーティングメッセージ)が出力される場合もある一方で、出力されないようなサービスもある(テキストでメッセージが出力されないようなサービスでは、Telnetで接続してもその後の操作ができないことが多い)。

入力した文字を直接表示させるには「ローカルエコー」を使う

 いったんサーバとの接続が確立すれば、後はキーボードからコマンドを入力すれば、それがそのままサーバへと送信される。そしてコマンドに対する応答がサーバ側から送り返されてくると、それがそのまま画面へと表示される。

 上の例では、SMTPサーバのコマンド一覧を表示させるために、「HELP」というコマンドを送っている。具体的には、キーボードから[H][E][L][P]の4文字(小文字でもよい)と[Enter]キーを押せばよい。するとSMTPサーバでサポートされているコマンド一覧が表示される。ただし、場合によっては自分が入力した文字は表示されず、サーバからのメッセージしか表示されないことがある。これではユーザーは手探りでコマンドを入力せねばならず、とても使いにくい。

 このようなTelnetクライアントの動きは、実は「仕様」である。Telnetクライアントを使う場合、ユーザーが文字を入力すると、その文字がすぐに画面に表示されるのが普通だ。しかし実際には、その文字はTelnetのリモートのサーバ側に送られ、サーバ側からあらためてクライアント側へと送り返されて表示されている。このような機能を「リモートエコー」という。

Telnetクライアントのローカルエコーとリモートエコー
Telnetクライアントのローカルエコーとリモートエコー
Telnetは、入力装置(キーボードなど)と出力装置(画面やプリンタ)を組み合わせた、仮想的な端末を実現するためのプロトコルである。入力された文字はTelnetサーバへ送られた後、それがまたTelnetクライアントへ送り返されてきて画面に表示される。これをリモートエコーという。しかしTelnet以外のサーバアプリケーションに接続する場合は、リモート側からエコーバックされない。ローカルエコーを有効にしておくと、入力した文字がローカル側で表示されるので、入力内容を確認できる。

 だが一般的なサーバアプリケーションではリモートエコーをサポートしていないので、入力した文字を表示させたければ、ローカル側で入力した文字を自分自身で表示させる「ローカルエコー」モードを有効にするとよい。このためには、次ページで述べるTelnetのオプション設定機能を利用する。

Copyright© Digital Advantage Corp. All Rights Reserved.

       | 次のページへ
ページトップに戻る