Telnet
| Telnetの階層構造 TCP/IPプロトコルスタックのアプリケーション層に含まれる代表的なプロトコルとして、Telnetを紹介していきます。 Telnetは、下位のトランスポート層にTCPを利用し、ウェルノウンポート番号として23を使います。 ![]() |
| Telnetの用途 Telnetを使うと遠隔地にあるサーバを設定したり、コマンドを実行したりすることができます。 よくサーバやルータの管理に使われますね。たとえば、東京に勤務していて大阪支社のサーバがなんか変だ!とします。でも、大阪にはシステム管理者がいなくて、ちょっと原因がわかりそうもない・・・ という場合、わざわざ東京からサーバに詳しいシステム管理者が新幹線に乗って(飛行機かもしれないけど)、大阪までいってサーバを見て適切なトラブルシュートをしないとダメですね。 でも、これって時間と管理者の労力をとても使ってしまいます。もちろん、交通費や宿泊費、管理者の人件費などのコストもそれなりにかかるでしょう。とても深刻なトラブルで、実際に管理者が現場に行かなければ解決できないというなら、まだ話はわかりますが、単純なトラブルでちょっと設定を見ればすぐ解決できた・・・なんて場合だと時間とコストの大きな無駄遣いです。 そんなとき、東京から大阪のサーバにTelnetして、ちょこっとサーバの状態や設定を見て、必要な対処をしてあげればこんな時間とコストの無駄遣いをしなくてもすみます。 東京と大阪のようにそんなに離れたところじゃなくても、システム管理者の自席から、サーバルームのサーバたちやルータたちの設定や管理を行うためにもTelnetは便利です。ただし、便利な分セキュリティは十分に配慮しないと不正侵入のカッコウの餌食になるかもしれません。 ![]() ![]() |
| Telnetのしくみ では、簡単にTelnetの仕組みを見ていきましょう。 まずクライアントからサーバにTelnetすると、TCPスリーウェイハンドシェイクが行われ、コネクションが確立します。もしも、サーバでユーザ認証を求める設定をしていれば、適切なユーザ名、パスワードを入力しないとコネクションが切断されてしまいます。 コネクションが確立されたあと、クライアントからコマンドを送信していきます。その場合、コマンドのまとまりごとに送信するのではなく、キーボードから文字を入力するたびごとにその文字を送信していきます。 ※1文字ずつ送るためにTCPヘッダの中のPUSHフラグが1になっています。 コマンドの文字列をすべて送信し終えて、クライアントでエンターキーを押すとサーバでコマンドが実行されて、実行結果をクライアントに返します。クライアントでは送られてきた送信結果を画面に表示することによって、まるで実際に遠くにあるサーバを操作しているようになります。 ![]() 画面表示に関しては、いろんなコンピュータごとに異なってきます。使える文字コードが違っていたり、特殊なキー(矢印キーやBackspaceなど)をサポートしていたりしていなかったり・・・ このようなサーバとクライアント間でサポートできる機能に違いがあるかもしれないので、調節する必要が出てきます。Telnetでは、IAC(Interpreted AsCommand)という特殊なコマンドによって、サーバとクライアントでサポートしている機能を調節しています。 |
(C) Copyright 2000-2002 Gene All Right Reserved