Il protocollo telnet, descritto in RFC 854 , include un modo per inviare comandi in banda, costituito dal carattere IAC , '\255'
, seguito da diversi più byte. Questi comandi possono eseguire operazioni come inviare un interrupt al telecomando, ma in genere vengono utilizzati per inviare opzioni .
Uno sguardo dettagliato a uno scambio che invia l' opzione del tipo di terminale è disponibile in Microsoft Q231866 .
L' opzione dimensione finestra è descritta in RFC 1073 . Il cliente invia innanzitutto la propria disponibilità a inviare NAWS
un'opzione. Se il server risponde DO NAWS
, il client può quindi inviare i NAWS
dati dell'opzione, che comprende due valori a 16 bit.
Sessione di esempio, su un terminale a 47 righe 80 colonne:
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)
Il protocollo ssh è descritto in RFC 4254 . Consiste in un flusso di messaggi. Uno di questi messaggi è "pty-req"
, che richiede uno pseudo-terminale, e i suoi parametri includono l'altezza e la larghezza del terminale.
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
I client telnet e ssh cattureranno il SIGWINCH
segnale, quindi se ridimensionate una finestra del terminale durante una sessione, invieranno un messaggio appropriato al server con le nuove dimensioni. Ssh invia il messaggio di modifica della dimensione della finestra:
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
? Non riesco a trovarne un esempio da nessuna parte.