記載のTelnetプロトコル、RFC 854は、から成る、インバンド・コマンドを送信する方法を含むIAC文字、'\255'
いくつかのより多くのバイトが続きます。これらのコマンドは、リモートに割り込みを送信するようなことを実行できますが、通常はオプションを送信するために使用されます。
端末タイプオプションを送信する交換の詳細は、Microsoft Q231866に記載されています。
ウィンドウサイズのオプションはで記述されているRFC 1073。クライアントは最初にNAWS
オプションを送信する意思を送信します。サーバーが応答するDO NAWS
場合、クライアントNAWS
は2つの16ビット値で構成されるオプションデータを送信できます。
47行80列のターミナルでのセッション例:
telnet> set options
Will show option processing.
telnet> open localhost
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
SENT WILL NAWS
RCVD DO NAWS
SENT IAC SB NAWS 0 80 (80) 0 47 (47)
sshプロトコルはRFC 4254で説明されています。メッセージのストリームで構成されています。そのようなメッセージの1つは"pty-req"
、擬似端末を要求し、そのパラメーターには端末の高さと幅が含まれます。
byte SSH_MSG_CHANNEL_REQUEST
uint32 recipient channel
string "pty-req"
boolean want_reply
string TERM environment variable value (e.g., vt100)
uint32 terminal width, characters (e.g., 80)
uint32 terminal height, rows (e.g., 24)
uint32 terminal width, pixels (e.g., 640)
uint32 terminal height, pixels (e.g., 480)
string encoded terminal modes
telnetおよびsshクライアントはSIGWINCH
信号をキャッチするため、セッション中にターミナルウィンドウのサイズを変更すると、適切なメッセージが新しいサイズでサーバーに送信されます。Sshはウィンドウディメンション変更メッセージを送信します。
byte SSH_MSG_CHANNEL_REQUEST
uint32 recipient channel
string "window-change"
boolean FALSE
uint32 terminal width, columns
uint32 terminal height, rows
uint32 terminal width, pixels
uint32 terminal height, pixels
Window Dimension Change Message
か?その例はどこにもありません。