Курсы английского языка курсы турецкого языка Курсы китайского языка Курсы французского языкакитайский язык курсытурецкий язык Telnet
СПб ТЕЛЕКОМ
Корзина  
Сумма: 0.00 руб.
Количество: 0 шт.
e-mail: sales@spbtelecom.ru

ICQ: 436502388
Главная Товары Услуги Как купить Поддержка Карта сайта
СЕРВЕР
ПРОФЕССИОНАЛОВ
В ОБЛАСТИ СВЯЗИ
Имя  Пароль 
Регистрация 
ПОИСК
Telnet
 
Поддержка / Словарь терминов / Сетевые протоколы / Telnet

TELNET (англ. TELecommunication NETwork) — сетевой протокол для реализации текстового интерфейса по сети (в современной форме — при помощи транспорта TCP). Название «telnet» имеют также некоторые утилиты, реализующие клиентскую часть протокола.

Устройство

Хотя в сессии Telnet выделяют клиентскую и серверную сторону, протокол на самом деле полностью симметричен. После установления транспортного соединения (как правило, TCP) оба его конца играют роль «сетевых виртуальных терминалов» (англ. Network Virtual Terminal, NVT), обменивающихся двумя типами данных:

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

Прикладные данные проходят через протокол без изменений[1], т.е. на выходе второго виртуального терминала мы видим именно то, что было введено на вход первого. С точки зрения протокола данные представляют просто последовательность байтов (октетов), по умолчанию принадлежащих набору ASCII, но при включенной опции Binary — любых. Хотя были предложены расширения для идентификации набора символов [2], но на практике ими не пользуются.

Все значения октетов прикладных данных кроме \377 (десятичное 255) передаются по транспорту как есть. Октет \377 передаётся последовательностью \377\377 из двух октетов. Это связано с тем, что октет \377 используется на транспортном уровне для кодирования опций.

Применения

Исторически Telnet служил для удалённого доступа к интерфейсу командной строки операционных систем. Впоследствии его стали использовать для прочих текстовых интерфейсов, вплоть до игр MUD и анимированного ASCII-art. Теоретически, даже обе стороны протокола могут являться программами, а не человеком.

Иногда клиенты telnet используются для доступа к другим протоколам на основе транспорта TCP, см. #Telnet и другие протоколы.

Протокол telnet используется в управляющем соединении FTP, т.е. заходить на сервер командой telnet ftp.example.net ftp для выполнения отладки и экспериментов не только возможно, но и правильно (в отличие от применения клиентов telnet для доступа к HTTP, IRC и большинству других протоколов).

Безопасность

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

Telnet и другие протоколы

В среде специалистов по технологиям internet распространено мнение, что клиент Telnet пригоден для осуществления ручного доступа (например, в целях отладки) к таким протоколам прикладного уровня как HTTP, IRC, SMTP, POP3 и прочим текст-ориентированным протоколам на основе транспорта TCP. Однако, использование клиента telnet в качестве клиента TCP вызывает следующие нежелательные эффекты:

  • Клиент может передать данные, которые Вы не вводили (опции Telnet);
  • Клиент не будет принимать октет \377;
  • Клиент будет искажать октет \377 при передаче;
  • Клиент вообще может отказаться передавать октеты со старшим битом 1.

Такие программы как netcat действительно обеспечивают чистый доступ к TCP, однако использование чистого доступа к TCP вызывает иную проблему. Перевод строки, вводимый из Unix-системы, будет передан одним символом LF, в то время как названные протоколы требуют CR LF как разделитель строки — впрочем, большинство серверов удовлетворяются и одним LF, хотя по стандарту делать это не обязаны. Обычный клиент Telnet по умолчанию передаёт любой перевод строки именно как CR LF. Наиболее корректным решением для отладочного доступа к прикладным протоколам (кроме FTP и, собственно, Telnet) является использование клиента PuTTY в режиме «Raw» (чистый доступ к TCP) — PuTTY преобразует переводы строки отдельно от поддержки протокола Telnet.

Ссылки

  • RFC 854 TELNET protocol specification
  • RFC 855 TELNET option specifications
  • RFC 856 TELNET binary transmission
  • RFC 857 TELNET echo option
  • RFC 858 TELNET suppress Go Ahead option
  • RFC 859 TELNET status option
  • RFC 860 TELNET timing mark option
  • RFC 861 TELNET extended options - list option
  • RFC 885 Telnet end of record option
  • RFC 1041 Telnet 3270 regime option
  • RFC 1073 Telnet Window Size Option
  • RFC 1079 Telnet terminal speed option
  • RFC 1091 Telnet terminal-type option
  • RFC 1096 Telnet X display location option
  • RFC 1184 Telnet linemode option
  • RFC 1205 5250 Telnet interface
  • RFC 1372 Telnet remote flow control option
  • RFC 2217 Telnet Com Port Control Option
  • RFC 2941 Telnet Authentication Option
  • RFC 2942 Telnet Authentication: Kerberos Version 5
  • RFC 2943 TELNET Authentication Using DSA
  • RFC 2944 Telnet Authentication: SRP
  • RFC 2946 Telnet Data Encryption Option
  • RFC 4248 The telnet URI Scheme
  • RFC 4777 IBM's iSeries Telnet Enhancements
  1. Данные могут подвергаться изменениям (например может быть сброшен старший бит) в случае, если на вход одного терминала поступили данные, допустимость приёма которых не была подтверждена вторым.
  2. RFC 2066Telnet Charset Option