前へ << inetdを利用してechoサーバを作ってみよう | tcpdumpでプロトコルを解析してみよう >> 次へ |
タイプした文字がそのまま画面に表示されることを「エコーバック」と いいます。つまり標準ではエコーバックが OFF になっているのです。
しかし WWW サーバ、FTP サーバ、POP3 サーバなどは タイプした文字をわざわざ返してはくれません。そのため 何をタイプしても画面に表示されないことになります。
Windows の telnet.exe ではエコーバックの ON、OFF を設定できますので、 エコーバックを ON にしておいてください。
UNIXの telnet ではエコーバックのあり/なしが自動的に設定されますので、 このような設定変更は必要ありません。 telnet クライアントが telnet サーバに接続するときは(つまりポート23に 接続してリモートログインする場合は)、相手の telnet サーバがエコーバックを 送り返してきて、telnet クライアントはそれを表示します。 一方、ポート23番以外のサーバに接続するときは telnetクライアント自身が エコーバックを表示します(ローカルエコー)。 UNIX の telnet は telnet サーバ(ポート23)に 接続するときだけネゴシエーションを行い、そこで どのようにエコーバックするかを決めるわけです。
GET /index.html HTTP/1.0(リターン) (続けてリターン)などと書いてある場合、とりあえず書いてあるとおりにやってみて ください。もしうまくいかなかったら、「リターン」と書いて ある部分は「Ctrl-j」とタイプしてみてください。つまり、
GET /index.html HTTP/1.0(Ctrl-j) (Ctrl-j)となるわけです。同じ Windows の telnet でも、仕様の違いが あるようで、
% telnet www.cs.gunma-u.ac.jp 80 Trying 133.8.2.7... Connected to www.cs.gunma-u.ac.jp. Escape character is '^]'. GET /index.html HTTP/1.0(リターン) (続けてリターン)などとやっても、どうしてもうまくいかない場合は 外部ホストのポート80宛のパケットが破棄されているのかもしれません (firewall によるパケットフィルタリング)。
プロバイダから「web を閲覧する際はこの proxy を使ってください」と言われている方で、 ブラウザ上でも その proxy を経由しないと絶対に外部の web を見られないなら、 上記のやり方ではうまくいきません。その場合、
% telnet proxy.foo.com 8080 Trying 10.11.12.13... Connected to proxy.foo.com. Escape character is '^]'. GET http://www.cs.gunma-u.ac.jp/index.html HTTP/1.0(リターン) (続けてリターン)などと proxy サーバに接続するようにしてください。 proxy.foo.com と 8080 の部分は、ご自分の環境に合わせて変更して下さい。
前へ << inetdを利用してechoサーバを作ってみよう | tcpdumpでプロトコルを解析してみよう >> 次へ |
ご意見・ご指摘は Twitter: @68user までお願いします。