Telnet协议,在所描述的RFC 854,包括一个方法来发送的带内的命令,由的IAC字符,'\255'
,随后几个字节。这些命令可以完成向远程发送中断等操作,但通常用于发送options。
在Microsoft Q231866中可以找到发送终端类型选项的交换机的详细信息。
所述窗口大小选项中所述RFC 1073。客户首先发送其发送NAWS
期权的意愿。如果服务器答复DO NAWS
,则客户端可以发送NAWS
选项数据,该选项数据由两个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中进行了描述。它由消息流组成。一个这样的消息是"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
吗?我在任何地方都找不到它的示例。