Семёнов Ю.А. (ГНЦ ИТЭФ), book.itep.ru
TELNET позволяет пользователю установить TCP-соединение с сервером и затем передавать коды нажатия клавиш так, как если бы работа проводилась на консоли сервера. TELNET (RFC-854, в некоторых реализациях tn) служит для выполнения удаленного доступа к вычислительным ресурсам и базам данных (например, к базам ядерных данных в Вене, Брукхейвене или STN-international в Карлсруэ). Для входа в базу данных или ЭВМ обычно нужна аутентификация (ввод имени-идентификатора пользователя и его слова-пропуска). В некоторых реализациях допускается использование параметров, которые подключают необходимые эмуляторы терминалов.
TELNET предлагает три услуги:
Определяет сетевой виртуальный терминал (NVT - network virtual terminal), который обеспечивает стандартный интерфейс к удаленной системе.
Включает механизм, который позволяет клиенту и серверу согласовать опции обмена
Обеспечивает симметрию соединения, допуская любой программе (например FTP) выступать в качестве клиента
Протокол TELNET позволяет обслуживающей машине рассматривать все удаленные терминалы как стандартные "сетевые виртуальные терминалы" строчного типа, работающие в кодах ASCII, а также обеспечивает возможность согласования более сложных функций (например, локальный или удаленный эхо-контроль, страничный режим, высота и ширина экрана и т. д.). На прикладном уровне над TELNET находится либо программа поддержки реального терминала, либо прикладной процесс в обслуживающей машине, к которому осуществляется доступ с терминала. Формат NTV достаточно прост. Для данных используются 7-битовые ASCII коды. 8-битовые же октеты зарезервированы для командных последовательностей.
Telnet взаимодействует с другой ЭВМ через протокол TELNET. Если команда TELNET вводится без аргументов ЭВМ переходит в командный режим, напечатав приглашение telnet>. В этом режиме она воспринимает и исполняет команды, описанные ниже.
При вводе TELNET с аргументами программа осуществит связь вашей ЭВМ с удаленным компьютером, имя или адрес которого вы ввели в качестве одного из аргументов.
Код опции в Telnet | Описание | Номер RFC |
0 | Двоичный обмен | 856 |
1 | Эхо | 857 |
2 | Повторное соединение | NIC 15391 |
3 | Подавление буферизации ввода | 858 |
4 | Диалог о размере сообщения | NIC 15393 |
5 | Статус | 859 |
6 | Временная метка | 860 |
7 | Удаленный доступ и отклик | 726 |
8 | Длина выходной строки | nic 20196 |
9 | Размер выходной страницы | nic 20197 |
10 | Режим вывода символов <возврат каретки> | 652 |
11 | Вывод горизонтальной табуляции | 653 |
12 | Установка положения табуляции при выводе | 654 |
13 | Режим вывода команды смены страницы | 655 |
14 | Вывод вертикальной табуляции | 656 |
15 | Определяет положение вертикальной табуляции | 657 |
16 | Режим вывода символа <перевод строки> | 658 |
17 | Расширенный набор кодов ASCII | 698 |
18 | Возврат (logout) | 727 |
19 | Байт-макро | 735 |
20 | Терминал ввода данных | 732 |
21 | Supdup | 736 |
22 | Supdup вывод | 747 |
23 | Место отправления | 779 |
24 | Тип терминала | 930 |
25 | Конец записи | 885 |
26 | Tacacs- идентификация пользователя | 927 |
27 | Пометка вывода | 933 |
28 | Код положения терминала | 946 |
29 | Режим 3270 | 1041 |
30 | X.3 PAD | 1053 |
31 | Размер окна | 1073 |
open имя_ЭВМ [ порт ] | open открывает связь с ЭВМ, имя которой указано в обращении. Если номер порта явно не указан, telnet пытается использовать для связи с сервером номер порта по умолчанию. Вместо имени ЭВМ-сервера может использоваться ее IP-адрес. |
display [ аргумент ... ] | Отображает все, или часть, набора параметров telnet (см. описание команды send). |
close | Закрывает сессию telnet и возвращает систему в командный режим. |
quit | Закрывает любую сессию telnet. |
mode type | Управляет режимом ввода ("построчный" или "посимвольный"). Удаленной машине посылается запрос на переход в соответствующий режим. Если она готова (способна) работать в запрошенном режиме, будет произведено соответствующее переключение. |
status | Отображает текущий статус telnet. В перечень информации входит имя удаленной ЭВМ и действующий режим обмена. |
? [ команда ] | Выдает справочную информацию о команде, название которой приведено в качестве аргумента |
send arguments | Посылает удаленной ЭВМ один или несколько символьных аргументов. В качестве аргументов могут использоваться: escape, synch, brk, ip, ao, ayt, ecel, ga и др. Смотри таблицу 4.5.3.3. |
escape | Посылает escape символ (например, `^]'). |
SYNCH | Посылает synch-последовательность. Эта последовательность позволяет аннулировать все, что было до этого напечатано, но еще не считано. Эта последовательность посылается как срочная (важная) TCP-информация (может не сработать, если удаленной системой является 4.2 BSD). Если она не сработала, на терминал будет послан символ "r". |
brk | Посылает Break-последовательность при нажатии клавиши Break (Pause). (Исчерпывающую информацию об аргументах можно найти в описании используемого программного обеспечения или с помощью команд Help или Man) |
set argument value | Присваивает любому числу переменных telnet новые значения. Специальное значение "off" выключает функцию, соответствующую данной переменной |
Название переменной | Назначение |
Echo | Определяет, будет ли отображаться на экране то, что вы вводите с клавиатуры. При значении off ввод не отображается, например, при вводе пароля. |
Escape | Задает символ, который используется в качестве escape. Появление этого символа во входном потоке заставляет его и последующие символы интерпретироваться в ЭВМ, где функционирует процесс telnet, как команда |
Interrupt | Специфицирует символ прерывания процесса. Ввод его приводит к остановке процесса пользователя, работающего на удаленной ЭВМ. |
Quit | Специфицирует символ, который используется пользователем на его клавиатуре для выполнения команд brake или attention. |
Flushoutput | Определяет символ, который служит для прерывания процедуры вывода на удаленной ЭВМ. |
EOF | Специфицирует символ, который используется для обозначения конца файла на удаленной машине. |
Последовательность символов | Назначение |
? | Отображает справочную информацию о команде send |
escape | Посылает символ escape (без прерывания посылки символов для Telnet) |
ip | Посылает протокольную последовательность telnet. Удаленная машина должна прервать процесс, запущенный для вас. |
ec | Посылает протокольную EC-последовательность telnet. Удаленная ЭВМ должна стереть последний напечатанный вами символ |
el | Посылает протокольную EL-последовательность TELNET. Удаленная ЭВМ должна стереть последнюю напечатанную вами строку. |
ao | Посылает протокольную AO-последовательность TELNET. Удаленная ЭВМ должна направить весь вывод на ваш терминал. |
brk | Посылает протокольную BRK-последовательность TELNET. Удаленная ЭВМ должна обеспечить отклик. |
ayt | Посылает протокольную AYT-последовательность TELNET (Are You There). Удаленная ЭВМ должна обеспечить отклик. |
Имя субкоманды TELNET | Код | Описание |
EOF | 236 | Признак конца файла |
SUSP | 237 | Отложить исполнение текущего процесса |
ABORT | 238 | Абортировать процесс |
EOR | 239 | Конец записи |
NOP | 241 | Никаких действий |
DM(Метка данных) | 242 | Блок данных процедуры SYNCH |
BRK (Остановка) | 243 | brk-символ (break); |
IP(Прерывание процесса) | 244 | IP-функция |
io (Прерывание вывода) | 245 | AO-функция |
AYT (Вы здесь?) | 246 | ayt-функция |
EC (Стереть символ) | 247 | EC-функция |
EL (Стереть строку) | 248 | EL-функция |
GA (Продолжайте) | 249 | GA-функция |
SB | 250 | Начало субопции |
SE | 240 | Завершение согласования параметров (конец субопции) |
Will ("будет") | 251 | Начало исполнения (опционно) |
Won't (не будет) | 252 | Отказ исполнения или продолжения выполнения (опционно) |
Do("исполнить") | 253 | Индицирует запрос, который другая система исполняет (опционно) |
Don't ("Нет") | 254 | Требует, чтобы другая система остановила исполнение (опционно) |
IAC | 255 | Интерпретируется как начало командной последовательности |
Комбинация клавиш | Достигаемый результат |
Ctrl+E | Echo |
Ctrl+] | Escape |
Ctrl+? | Erase |
Ctrl+O | flushoutput |
Ctrl+C | Interrupt (прерывание исполнения программы) |
Ctrl+U | Kill |
Ctrl+\ | Quit |
Ctrl+D | EOF |
? | display this help message | a | sends Telnet AYT request |
^h | debugging command help | b | send Telnet Interrupt Process |
o | write receive data to output file | z | send Telnet Abort output |
i | read keystrokes from an input file | t | send Telnet Break |
c | close connection gracefully | ! | escape to command interpret |
q/Q | quit current/all telnet connections | I | show local internet address |
F | toggle build-in FTP-server on/off | U | turn status line on |
W | toggle FTP server write-protect mode | u | turn status line off |
0-9 | switch to connection # | s | Enable pop-up TSR with hot-key |
p | Select code page remapping | S | Toggle screen-saver key-passing |
R | Enter key send CR | l | local echo mode |
N | Enter key send newline (CRLF) | r | remote echo mode |
E | send characters as typed | w | turn end-of-line wrap on |
E | send line when ENTER is typed | d | turn end-of-line wrap off |
B | <-key sends BS; CTL_<-key sends DEL | set emulator mode (VT52|100|220) | |
D | <- key sends DEL; CTL_<-key sends BS |
y | set Yale Null Processing off | Y | set Yale Null Processing on |