• 締切済み

telnetコマンド

telnetコマンドを、文字として認識させないためにIACを使うという事を知りました。 ここでふと疑問に思ったのですが、例えばECコマンドを使う場合、 EC(0xF7)を文字として認識させないためにIACを使うのだと思うのですが、 ASCIIコードでECに割り当てられているものを入力して、 サーバー側にECの文字を表示させても、 それはコマンドとして認識されないのでしょうか? 詳しい方からすればとんちんかんな質問かもしれませんが、 よろしくお願いします。

みんなの回答

回答No.1

0xF7 というバイト自体が EC (Erase Character) を意味するのではなく、0xFF, 0xF7 という2バイトが揃って初めて EC の意味になります(※)。0xFF が先行しない 0xF7 が単体でやってきても、それは EC の意味にはならず、0xF7 という文字そのものをあらわします。 ※ RFC 854 の TELNET COMMAND STRUCTURE の節を参照。 ということで、0xF7 に相当する文字をタイプしたときのエコーバックは、やはり 0xF7 というバイトだけが飛んできます。0xFF がついていないので、ECとは認識されません。 ちなみに、0xFF に相当する文字を送信する場合は、IAC の後に 0xFF を送信します。すなわち、0xFF を2回 (0xFF, 0xFF)送信します。

参考URL:
http://tools.ietf.org/rfc/rfc854.txt
hamachi7
質問者

お礼

jyufi_februaryさん、回答ありがとうございます 根本的な事がわかっていなかったようです、勉強になりました!

関連するQ&A