
telnetというプロトコルをご存知でしょうか。telnetは、遠隔地にあるデバイスを操作するためのプロトコルです。今回は、そんなtelnetについて解説していきます。
- telnetとは
- telnetの用途
- telnetの仕組み
- telnetの課題
telnetとは
telnetとは、遠隔地にあるサーバーやネットワーク機器などのデバイスを操作するときに使用するプロトコルです。
例えば、社内の複数のネットワーク機器の設定を変更する場合や別拠点にある機器を操作するときなどに使用されます。
telnetは、1980年から使われているプロトコルで非常に歴史のあるプロトコルです。
telnetの使用するポート番号は23番です。
telnetの用途
telnetを使用するとネットワーク上から、遠隔地にあるデバイスや直接設定しづらい場所に設置されたデバイスの設定をすることができます。
また、ネットワークが接続されていれば複数台のデバイスを同じ場所から設定することもでき、ネットワーク管理には欠かせないプロトコルとなっています。
他にもtelnetを使用してHTTPやPOPなどのプロトコルを使用することもできます。
例えば、webサーバーで正常にページが表示されない場合やweb API サーバーを構築して返り値を調べたい場合などに、telnetを使ってHTTP通信を使用して動きを確認することもできます。
telnetの仕組み
telnetはTCPを使用するプロトコルです。
telnetでサーバーへ接続すると、TCP 3ウェイハンドシェイクが実行され、コネクションが確立されます。
サーバー側でユーザーの設定がある場合は、接続時に認証操作を行います。
認証に失敗した場合、コネクションが切断されることになります。
コネクション確立後は、クライアントがキーボードに文字を入力するたびに、その文字をサーバーへ文字を送信していきます。
クライアントがエンターキーを押すとエンターキーが押されたことがサーバーに送信され、サーバーでコマンドが実行されます。
コマンドの実行結果は、サーバーからクライアントに送られ、クライアントは送られてきた実行結果を画面に表示してユーザーに知らせます。
このような動作を繰り返すことで、遠隔地にあるデバイスを手元で操作することができています。
telnetの課題
遠隔地のデバイスを管理できるtelnetですが、大きな課題を抱えています。
それは、遠隔操作する際の認証情報を含め、全ての通信を平文で通信していることです。
通信が暗号化されていないため、通信の内容を盗聴された場合、通信内容が簡単に盗まれてしまうという危険性があります。
そのため、インターネットを経由して遠隔地のデバイスを管理する際には、セキュリティの観点からtelnetは基本的に使用しないことが望ましいです。
実際に多くのネットワーク機器では、既定でtelnetの通信を拒否する設定が入っているものも多くあります。
この課題を克服したプロトコルとして、SSHというものがあります。
次回は、そのSSHについて解説していこうかと思います。