Các giao thức telnet, được mô tả trong RFC 854 , bao gồm một cách để gửi lệnh in-band, bao gồm các nhân vật IAC , '\255'
, tiếp theo là một vài byte hơn. Các lệnh này có thể thực hiện những việc như gửi ngắt đến điều khiển từ xa, nhưng thông thường chúng được sử dụng để gửi tùy chọn .
Một cái nhìn chi tiết về một trao đổi gửi tùy chọn loại thiết bị đầu cuối có thể được tìm thấy trong Microsoft Q231866 .
Các kích thước cửa sổ tùy chọn được mô tả trong RFC 1073 . Đầu tiên khách hàng gửi sự sẵn sàng của mình để gửi một NAWS
tùy chọn. Nếu máy chủ trả lời DO NAWS
, thì máy khách có thể gửi NAWS
dữ liệu tùy chọn, bao gồm hai giá trị 16 bit.
Phiên ví dụ, trên thiết bị đầu cuối cột 47 hàng 47:
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)
Giao thức ssh được mô tả trong RFC 4254 . Nó bao gồm một dòng tin nhắn. Một thông báo như vậy là "pty-req"
, yêu cầu một thiết bị đầu cuối giả và các tham số của nó bao gồm chiều cao và chiều rộng của thiết bị đầu cuối.
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
Các máy khách telnet và ssh sẽ bắt được SIGWINCH
tín hiệu, vì vậy nếu bạn thay đổi kích thước cửa sổ đầu cuối trong một phiên, chúng sẽ gửi một tin nhắn thích hợp đến máy chủ với kích thước mới. Ssh gửi thông báo thay đổi kích thước cửa sổ:
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
không? Tôi không thể tìm thấy một ví dụ về nó ở bất cứ đâu.