Telnet - Telnet

Скриншот черного экрана с выводом команды справки и подсказкой #.
Клиент telnet, обращающийся к Busybox в маршрутизаторе.

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

Telnet был разработан в 1969 году, начиная с RFC  15 , расширен в RFC  855 и стандартизирован как Internet Engineering Task Force (IETF) Internet Standard STD 8 , один из первых интернет-стандартов. Название расшифровывается как « tel etype net work».

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

Термин telnet также используется для обозначения программного обеспечения, реализующего клиентскую часть протокола. Клиентские приложения Telnet доступны практически для всех компьютерных платформ . Telnet также используется как глагол . Telnet означает установить соединение с использованием протокола Telnet либо с клиентом командной строки, либо с графическим интерфейсом. Например, общая директива может быть: « Для того, чтобы изменить пароль, Telnet на сервер, войдите в систему и запустить PASSWD . Команду » В большинстве случаев пользователь будет telnetting в Unix-подобных систем сервера или сетевого устройства ( например роутер).

История и стандарты

Telnet является протоколом клиент-сервер , на основе надежного соединения-ориентированного транспорта. Обычно этот протокол используется для установления соединения с портом № 23 протокола управления передачей (TCP ), который прослушивает приложение сервера Telnet (telnetd). Telnet, однако, появился раньше TCP / IP и изначально запускался по протоколам Network Control Program (NCP).

Несмотря на то, что Telnet был специальным протоколом без официального определения до 5 марта 1973 года, название фактически относилось к протоколу Teletype Over Network, поскольку RFC 206 (NIC 7176) в Telnet делает соединение понятным:

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

По сути, он использовал 8-битный канал для обмена 7-битными данными ASCII. Любой байт с установленным старшим битом был специальным символом Telnet. 5 марта 1973 года в Калифорнийском университете в Лос-Анджелесе был определен стандарт протокола Telnet с публикацией двух документов NIC: Спецификации протокола Telnet, NIC 15372, и Спецификации опций Telnet, NIC 15373.

Для Telnet было сделано много расширений из-за его архитектуры протокола согласованных опций. Некоторые из этих расширений были приняты в качестве стандартов Интернета , IETF документирует STD 27 - STD 32. Некоторые расширения были широко внедрены, а другие являются предлагаемыми стандартами на треке стандартов IETF (см. Ниже ). Telnet лучше всего понимается в контексте пользователя с простой терминал, использующий локальную программу Telnet (известную как клиентская программа) для запуска сеанса входа в систему на удаленном компьютере, где коммуникационные потребности пользователя обрабатываются программой сервера Telnet.

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

Когда Telnet был первоначально разработан в 1969 году, большинство пользователей сетевых компьютеров находились в компьютерных отделах академических институтов или в крупных частных и государственных исследовательских центрах. В этой среде безопасность не была настолько серьезной проблемой, как после резкого роста пропускной способности в 1990-х годах. Рост числа людей, имеющих доступ к Интернету, и, соответственно, числа людей, пытающихся взломать чужие серверы , сделали необходимыми зашифрованные альтернативы.

Эксперты в области компьютерной безопасности , такие как институт SANS , рекомендуют прекратить использование Telnet для удаленного входа в систему при всех обычных обстоятельствах по следующим причинам:

  • Telnet по умолчанию не шифрует никакие данные, передаваемые по соединению (включая пароли), поэтому часто возможно перехватить сообщения и использовать пароль позже в злонамеренных целях; любой, у кого есть доступ к маршрутизатору , коммутатору , концентратору или шлюзу, расположенному в сети между двумя хостами, где используется Telnet, может перехватывать проходящие пакеты и получать логин, пароль и все остальное, введенное анализатором пакетов .
  • Большинство реализаций Telnet не имеют аутентификации, которая гарантирует, что связь осуществляется между двумя желаемыми хостами и не будет перехвачена в середине .
  • За прошедшие годы в широко используемых демонах Telnet было обнаружено несколько уязвимостей .

Эти связанные с безопасностью недостатки привели к быстрому сокращению использования протокола Telnet, особенно в общедоступном Интернете , в пользу протокола Secure Shell (SSH), впервые выпущенного в 1995 году. SSH практически заменил Telnet, и используется старый протокол. в наши дни только в редких случаях можно получить доступ к устаревшему оборудованию, устаревшему десятилетиями, которое не поддерживает более современные протоколы. SSH предоставляет большую часть функций telnet с добавлением надежного шифрования для предотвращения перехвата конфиденциальных данных, таких как пароли, и аутентификации с открытым ключом , чтобы гарантировать, что удаленный компьютер действительно является тем, кем он себя называет. Как и в случае с другими ранними Интернет-протоколами, расширения протокола Telnet обеспечивают безопасность транспортного уровня (TLS) и аутентификацию на уровне простой аутентификации и безопасности (SASL), которые решают указанные выше проблемы. Однако большинство реализаций Telnet не поддерживают эти расширения; и было относительно мало интереса к их реализации, поскольку SSH подходит для большинства целей.

Следует отметить, что существует большое количество промышленных и научных устройств, для которых в качестве опции связи доступен только Telnet. Некоторые из них имеют только стандартный порт RS-232 и используют аппаратное устройство последовательного сервера для обеспечения преобразования между данными TCP / Telnet и последовательными данными RS-232. В таких случаях SSH не является вариантом, если устройство интерфейса не может быть настроено для SSH (или заменено одним поддерживающим SSH).

Telnet по-прежнему используется любителями, особенно среди радиолюбителей . Протокол Winlink поддерживает пакетную радиосвязь через соединение Telnet.

Telnet 5250

Эмуляция рабочих станций IBM 5250 или 3270 поддерживается через настраиваемые клиенты Telnet, TN5250 / TN3270 и системы IBM i . Клиенты и серверы, предназначенные для передачи потоков данных IBM 5250 через Telnet, обычно поддерживают шифрование SSL , поскольку SSH не включает эмуляцию 5250. В IBM i (также известном как OS / 400) порт 992 является портом по умолчанию для защищенного Telnet.

Данные Telnet

Все октеты данных, кроме 0xff, передаются через Telnet как есть. (0xff или 255 в десятичном формате - это байт IAC (интерпретировать как команду), который сигнализирует, что следующий байт является командой telnet. Команда для вставки 0xff в поток - это 0xff, поэтому 0xff необходимо экранировать, удвоив его при отправке данных. по протоколу Telnet.)

Клиентские приложения Telnet могут устанавливать интерактивный сеанс TCP с портом, отличным от порта сервера Telnet. Соединения с такими портами не используют IAC, и все октеты отправляются на сервер без интерпретации. Например, telnet-клиент командной строки может сделать HTTP-запрос к веб-серверу через TCP-порт 80 следующим образом:

$ telnet www.example.com 80
GET /path/to/file.html HTTP/1.1
Host: www.example.com
Connection: close

Существуют и другие терминальные клиенты TCP, такие как netcat или socat в UNIX и PuTTY в Windows, которые обрабатывают такие требования. Тем не менее, Telnet все еще можно использовать для отладки сетевых служб, таких как SMTP , IRC , HTTP , FTP или POP3 , для отправки команд серверу и проверки ответов.

Еще одно различие между Telnet и другими терминальными клиентами TCP заключается в том, что Telnet по умолчанию не является 8-битным . Можно согласовать 8-битный режим, но октеты с установленным старшим битом могут быть искажены до тех пор, пока этот режим не будет запрошен, поскольку 7-битный режим является режимом по умолчанию. 8-битный режим (так называемый двоичный вариант ) предназначен для передачи двоичных данных, а не символов ASCII. Стандарт предлагает интерпретацию кодов 0000–0176 как ASCII, но не предлагает никакого значения для октетов данных с высоким набором битов . Была попытка ввести поддержку переключаемой кодировки символов, такую ​​как HTTP, но ничего не известно о ее реальной программной поддержке.

Связанные RFC

Интернет-стандарты

  • RFC  854 , спецификация протокола Telnet
  • RFC  855 , спецификации опции Telnet
  • RFC  856 , двоичная передача Telnet
  • RFC  857 , опция эха Telnet
  • RFC  858 , опция Telnet Suppress Go Ahead Option
  • RFC  859 , опция статуса Telnet
  • RFC  860 , опция метки времени Telnet
  • RFC  861 , расширенные параметры Telnet: параметр списка

Предлагаемые стандарты

  • RFC  885 , опция окончания записи Telnet
  • RFC  1073 , параметр размера окна Telnet
  • RFC  1079 , опция скорости терминала Telnet
  • RFC  1091 , опция типа терминала Telnet
  • RFC  1096 , вариант расположения дисплея Telnet X
  • RFC  1123 , Требования к Интернет-хостам - Применение и поддержка
  • RFC  1184 , опция линейного режима Telnet
  • RFC  1372 , опция удаленного управления потоком через Telnet
  • RFC  1572 , опция среды Telnet
  • RFC  2941 , опция аутентификации Telnet
  • RFC  2942 , проверка подлинности Telnet: Kerberos версии 5
  • RFC  2943 , аутентификация TELNET с использованием DSA
  • RFC  2944 , аутентификация Telnet: SRP
  • RFC  2946 , опция шифрования данных Telnet
  • RFC  4248 , Схема URI Telnet

Информационная / экспериментальная

  • RFC  1143 , Q-метод реализации согласования параметров TELNET
  • RFC  1571 , Проблемы взаимодействия опций среды Telnet

Другие RFC

  • RFC  1041 , вариант режима Telnet 3270
  • RFC  1205 , интерфейс Telnet 5250
  • RFC  2217 , опция управления портом Telnet Com
  • RFC  4777 , Расширения Telnet IBM iSeries

Клиенты Telnet

Смотрите также

использованная литература

57,9654

внешние ссылки