Доклад на тему протокол telnet

Обновлено: 02.07.2024

Аннотация: В этой лекции рассматривается прикладная программа: TELNET. Стандартный протокол для услуг виртуального терминала, TELNET дает возможность устанавливать соединение с удаленным компьютером таким образом, что создается впечатление, как будто местный терминал – это терминал удаленной системы

Главная задача Интернета и его набора протоколов TCP/IP — это обеспечить сервис для пользователя. Например, пользователь хочет иметь возможность выполнять различные прикладные программы на удаленном сайте и создать результат, который может быть передан к его местному сайту. Один из путей удовлетворения такой потребности — создать различные прикладные программы клиент- сервер для каждой услуги. Уже доступны программы передачи файлов ( FTP и TFTP ), электронной почты ( SMTP ) и так далее. Однако все конкретные программы клиентсервер для каждого применения описать невозможно.

Лучшее решение — общецелевая программа клиент- сервер , которая позволяет пользователю иметь доступ к любой прикладной программе на удаленном компьютере. После входа в систему пользователь может использовать услуги, доступные на удаленном компьютере, и принимать результаты на местном компьютере.

TELNET — это сокращение от Terminals NETwork . Это стандартный протокол TCP/IP для услуг виртуального терминала. TELNET дает возможность устанавливать соединение с удаленным компьютером таким образом, что создается впечатление, как будто местный терминал – это терминал удаленной системы.

Концепция

TELNET основан на концепциях, которые обсуждаются ниже.

Внешняя среда с разделением времени

TELNET был разработан в эпоху, когда большие операционные системы, такие как UNIX, работали с внешней средой по принципу разделения времени. Согласно этому принципу, большой компьютер поддерживал множество пользователей, предоставляя им часть общего времени. Взаимодействие между пользователем и компьютером осуществляется с помощью терминала, который обычно состоит из комбинации клавиатуры, монитора и мышки. Даже микрокомпьютер может моделировать терминал с помощью терминального эмулятора.

В среде с разделением времени вся обработка информации проводится в центральном компьютере. Когда пользователь печатает символ на клавиатуре, символ обычно посылается компьютеру и отражается на мониторе. Разделение по времени создается средой, в которой для каждого пользователя создается иллюзия специализированного компьютера. Пользователь выполняет программу доступа к системным ресурсам, переключается от одной программы к другой и так далее.

Логин

В среде с разделением времени пользователь — это часть системы с некоторыми правами и, вероятно, с паролем. Каждый полномочный пользователь имеет идентификатор и пароль . Пользовательская идентификация определяет пользователя как часть системы. Для доступа к системе пользователь начинает сеанс с пользовательского идентификатора (id) или с регистрационного имени ( login name ). Система помогает проверке пароля, чтобы предотвратить доступ к ресурсу неполномочного пользователя.

Местный логин

Когда пользователь входит в местную систему с разделением времени, это называется местный логин. Как только пользователь напечатает некое слово на терминале или рабочей станции, выполняющей эмуляцию терминала, сразу начинает работать терминальная программа (драйвер), которая распознает значение введенных символов. Терминальный драйвер передает символы операционной системе, в рамках этой системы комбинация символов интерпретируется и вызывает желаемую прикладную программу или утилиту (рис. 12.1 ).

Однако этот механизм не такой простой, как кажется, потому что операционная система может назначить специальные значения для специальных символов. Скажем, в UNIX некоторые комбинации символов имеют специальное значение, например, комбинации управляющих символов с символом "z", которые означают прекращение действия; комбинации управляющих символов с символом "c" означают остановку; и так далее. Несмотря на то что эти специальные ситуации не создают никаких проблем в местном вхождении в систему (login), потому что терминальный эмулятор и терминальный драйвер знают точно значение каждого символа и комбинации символов, они могут создавать проблемы при удаленном входе в систему. Какой процесс должен интерпретировать специальные символы? Клиент или сервер? Эта ситуация будет рассмотрена в этой лекции позднее.

Удаленный логин

Когда пользователь хочет иметь доступ к прикладной программе или утилите, размещенным на удаленном компьютере, он выполняет дистанционный вход в систему (логин). Здесь TELNET берет на себя функции клиента и сервера. Пользователь посылает сигнал нажатия кнопки терминальному драйверу, где местная операционная система принимает символы и интерпретирует их. Эти символы посылает TELNET-клиент, который преобразует символы к универсальному набору, называемому символы виртуального сетевого терминала (Network Virtual Terminal Characters), и доставляет их к местному стеку протоколов TCP/IP (рис. 12.2 ).

Команды или текст в форме сетевого виртуального терминала ( NVT ) перемещаются через Интернет и прибывают на стек протоколов TCP/IP в удаленной машине. Здесь символы доставляются операционной системе и проходят к TELNET-серверу, который преобразует их в символы, понятные удаленному компьютеру. Однако символы не могут пройти прямо на операционную систему, потому что удаленная операционная система не разработана для получения трактовки этих символов от TELNET. Она спроектирована так, чтобы принимать символы от драйвера терминала. Решение, добавляющее необходимое программное обеспечение, называется псевдотерминальным драйвером, который преобразовывает поступившие символы как символы, поступающие от местного терминала. Операционная система затем предает символы к соответствующей прикладной программе.

Сетевой виртуальный терминал (NVT)

Механизм для доступа удаленного компьютера должен быть комплексным с учетом специфики каждой операционной системы. Например, для некоторых операционных систем знак конца — это Ctrl+z , в то время как в других операционных системах — это Ctrl+d .

Если мы хотим иметь доступ к любому удаленному компьютеру в мире, мы должны сначала знать специфику терминального эмулятора, используемую этим компьютером. TELNET решает эти проблемы определением универсального интерфейса , называемого NVT ( Network Virtual Terminal — виртуальный сетевой терминал ). Для каждого интерфейса TELNET переводит символы (данные или команды), которые получает от местного терминала, в NVT -форму и доставляет их в сеть . С другой стороны, сервер TELNET переводит команды из формы NVT в форму, доступную удаленному компьютеру. Все иллюстрации этой концепции смотрите на рисунке 12.3.

Служба Telnet - предназначена для эмуляции удаленного терминала.

С помощью Telnet можно обратиться к любому порту и посмотреть, что он отвечает (с некоторыми (например, с ftp) даже пообщаться).

Служба Telnet состоит из:

telnet - интерфейса пользователя;

telnetd - процесса (серверная часть);

Взаимодействие клиент и сервера по протоколу Telnet .

4.2 Протокол Telnet

Первый стандарт - RFC0158 (Telnet Protocol: A Proposed Document T.C. O'Sullivan May-19-1971).

Последняя версия - RFC0855 (Telnet Option Specifications J. Postel, J.K. Reynolds May-01-1983).

NVT (network virtual terminal) - это воображаемое устройство, находящееся на обоих концах соединения, у клиента и сервера, с помощью которого устанавливается соответствие между их реальными терминалами.

Порт по умолчанию 23.


4.2.1 Режимы функционирования Telnet клиентов и серверов

Существуют четыре режима, в которых функционирует большинство Telnet клиентов и серверов:

Полудуплексный.
NVT по умолчанию это полудуплексное устройство, которое требует исполнения команды GO AHEAD (GA) от сервера, перед тем как будет принят ввод от пользователя. Ввод пользователя отображается локальным эхом от NVT клавиатуры на NVT принтер, таким образом, от клиента к серверу посылаются только полные строки.

Символ за один раз. (самый распространенный)
Каждый вводимый символ отправляется серверу отдельно от других.
Сервер отражает эхом (опция ECHO - RFC 857) большинство символов и эти символы отражаются на экране клиента (это увеличивает трафик).

Опции включения режима (обязательно обе):
SUPPRESS GO AHEAD (RFC 858).
WILL ECHO.
Клиент посылает DO SUPPRESS GO AHEAD (требуя сервера включить эту опцию), или сервер посылает WILL SUPPRESS GO AHEAD клиенту (спрашивая о возможности включить для себя).
Затем сервер посылает WILL ECHO, спрашивая клиента о возможности включить отражение эхом.

Строка за один раз.
Если какая-либо опций (ECHO и SUPPRESS GO AHEAD) не включена, Telnet находится в режиме строка за один раз.

Линейный режим (linemode).
В данном случае этот термин означает реальную опцию linemode (RFC 1184). Эта опция обсуждается клиентом и сервером и корректирует все недостатки в режиме строка за один раз.

4.2.2.1 Пример - режим символ за один раз

Подключимся к серверу Linux.

Листинг протокола 1

Теперь проделаем тоже самое, но с другим сервером (ДИОНИС). Можете найти различия.

KAZAN SCIENTIFIC CENTRE
ACADEMI OF SCIENCE OF RUSSIA
WELCOME TO DIONIS !

ENTER YOUR NAME => name
PASSWORD =>
LANGUAGE =>

System DIONIS 5.00. (C) "Factor" Ltd.

28: name - logon: 12:25am Wed 09/17/03
Last logoff: 11:51am Wed 09/17/03

To get help enter "?" or "??" or "? ".
To return one level up enter "-".

You have new messages: 1

Would You read them? (Yes, No, Messages, NOTifications, Get) => //командная строка ДИОНИС

Листинг протокола 2

Теперь проделаем тоже самое, но с другим сервером (cisco). Можете найти различия.

Протокол TELNET позволяет обслуживающей машине рассматривать все удаленные терминалы как стандартные "сетевые виртуальные терминалы" строчного типа, работающие в коде ASCII, а также обеспечивает возможность согласования более сложных функций (например, локальный или удаленный эхо-контроль, страничный режим, высота и ширина экрана и т.д.) TELNET работает на базе протокола TCP. На прикладном уровне над TELNET находится либо программа поддержки реального терминала (на стороне пользователя), либо прикладной процесс в обсуживающей машине, к которому осуществляется доступ с терминала.

Работа с TELNET походит на набор телефонного номера. Пользователь набирает на клавиатуре что-то вроде

и получает на экране приглашение на вход в машину delta.

Протокол TELNET существует уже давно. Он хорошо опробован и широко распространен. Создано множество реализаций для самых разных операционных систем. Вполне допустимо, чтобы процесс-клиент работал, скажем, под управлением ОС VAX/VMS, а процесс-сервер под ОС UNIX System V.

Строится на базе TCP протокола и работает по дуплексному, многопользовательскому протоколу. Это значит, что один сервер может обслуживать одновременно несколько клиентов.

Telnet построен на трех основных принципах:

0 NULL Пусто
10 LF Перенос курсора на след. строку с сохр. позиции.
13 CR Перенос курсора на начало текущей строки.
7 BELL Звонок
8 BS Перенос курсора на одну позицию влево
9 HT Перенос курсора на следующую позицию горизонтальной табуляции
11 VT Перенос курсора на следующую позицию вертикальнойтабуляции
12 FF Перенос курсора на начало след страницы с сохранением позиции в строке

Ввод и передача буферируются. Данные накапливаются в буфере пока не будет завершена сторока или н ебудет выполнено форсирование передачи до завершения строки. Клавиатура должна генерировать все 128 кодов, соответсвующих 128 ASCII символам. Кроме того, она должна генерировать управляющие коды:

244 IP Interrupt Process - прервать процесс. Команда останавливает операции или процесс пользователя. Используется при зависании или ошибках.
245 AO Abort Output - прервать вывод. Вывод прекращается и выводной буфер очищается.
246 AYT Are You There - вы тут?
247 EC Erase Char - Удалить символ из буфера.
248 EL Erase Line - Удалить строку. Очищает текущую строку ввода.
249 GA Go Ahead - Далее. Передача контроля над соединением без отправки каких либо данных.
250 SB SubNegotiation, Параметры расширения. Указывает, что за этим последует передача дополнительных опций
240 SE Subnegotiation End. Конец параметров расширения.
251 WILL квитанция согласования.
252 WON'T квитанция согласования.
253 DO квитанция согласования.
253 DON'T квитанция согласования.
255 IAC Interpret As Command - Код команды. Следующий байт - команда telnet. Третий опциональный байт - код настраиваемой опции.

Telnet является универсальным клиентом и позволяет соединиться с большим колическтвом портов и общаться с различными приложениями.


Next: Протокол FTP Up: Протоколы прикладного уровня Previous: Протоколы прикладного уровня Contents Index Alex Otwagin 2002-12-16

Telnet – базовый протокол ОС UNIX, обеспечивающий терминальный доступ пользователей к удалённому компьютеру [4, с. 423-433].

Первоначально терминалом являлось устройство типа пишущей машинки, на котором оператор (пользователь) печатал команды и наблюдал результаты. Позднее терминал разделили на монитор и клавиатуру.

По умолчанию в Telnet используется 23 порт. На удалённом компьютере должна быть запущена серверная часть, а на компьютере пользователя – клиентская. Клиентская программа носит то же название – telnet и допускает ввод параметров из командной строки. К этим параметрам относятся:

Имя (IP адрес) сервера и номер порта

Тип текстового терминала

Имя журнала соединения

Определение действий некоторых функциональных клавиш клавиатуры и др.

Синтаксис командной строки зависит от программной реализации telnet и с этой точки зрения telnet можно рассматривать как службу или сервис.

Работа протокола telnet предусматривает передачу серверу (удалённому компьютеру) по протоколу ТСР каждого набранного пользователем знака в отдельном пакете. В случае включённого эха сервер возвращает знак на монитор пользователя. Результаты выполнения запущенных на сервере программ передаются уже блоками. В пределах прав пользователя и возможностей терминала telnet обеспечивает полный доступ к программам и файлам сервера. При установлении соединения в процессе идентификации символы имени пользователя и пароля передаются в открытом виде, что делает использование telnet крайне опасным.

Наиболее популярный метод повышения безопасности прикладных терминальных протоколов (например, telnet) является протокол SSH ( S ecure SH ell), использующий 22 порт по умолчанию. Так же, как и в telnet, на удалённом компьютере запускается серверная часть SSH, а на пользовательском компьютере – клиентская. После установления соединения все данные передаются в зашифрованном виде и все данные прикладных протоколов туннелируются по этому защищённому соединению как это показано на рисунке 1.

Рис. 1. Схема соединения с использованием SSH.

Перед использованием telnet удалённый компьютер и компьютер пользователя устанавливают защищённое соединение по 22 порту (подразумевается, что до использования SSH в клиентской и серверной части уже определены пароли криптографической защиты). При вызове telnet открывается 23 порт, но передаваемые пакеты перехватываются клиентом SSH, шифруются и отправляются по защищённому каналу. Сервер SSH расшифровывает данные и по 23 порту передаёт серверу telnet. Реакция сервера передаётся в обратном порядке. Пользователь не ощущает работы протокола SSH и работает как с обычным клиентом telnet по 23 порту.

Похожие страницы:

Принципы технологии протоколы сети интернет

. Протокол UDP 11 4.3. Протокол TELNET 12 4.4. Протокол FTP 12 4.5. Протокол TFTP 12 4.6. Протокол . компьютерной области, использовало версию ОС Unix от Berkeley Software Distribution . больше, чем просто базовые internet-протоколы. Помимо стандартных .

История возникновения ОС

. приложение для ОС UNIX – программа UUCP (UNIX-to- UNIX Copy program . как введение в структуру базовых сетевых компонентов – редиректора . NetBIOS-очень популярного транспортного протокола и одновременно интерфейса . сервисы Интернета, как telnet, ftp, DNS и .

Глобальные сети (2)

. программного обеспечения позволяет наделить базовые программные средства дополнительными . Telnet, но работает только в том случае, если на удаленном компьютере стоит ОС UNIX . стоит ОС UNIX. SLIP (Serial Line Internet Protocol) - протокол канального .

Контрольная работа по Программированию (1)

. широко используются TELNET(эмуляция удаленного терминала) и FTP(протокол передачи файлов . , применяет базовые возможности по эмуляции терминала FTP - Протокол передачи файлов . целью перехвата пакетов с паролями. ОС Unix обычно хранит пароли в зашифрованной .

Современные информационные технологии (2)

. ресурсы общества. Базовая информационная технология предназначена . компьютер, вычислительная сеть, ОС, программный пакет, другие . удаленной машины. Т Telnet - протокол эмуляции терминала, который . компьютера. Telnet - это программа в UNIX, которая .

Читайте также: