Telnet – Wikiwand

Введение

Назначение протокола TELNET — в предоставлении достаточно общего двунаправленного восьмибитного байт-ориентированного средства связи. Его основная задача заключается в том, чтобы позволить терминальным устройствам и терминальным процессам взаимодействовать друг с другом.

Configuration

To enable telnet server connections in systemd, enabletelnet.socket (if the telnet server should be started on every boot), and starttelnet.socket to test connectivity.

To enable telnet server connections in xinetd, edit /etc/xinetd.d/telnet, change disable = yes to disable = no and restart the xinetd service.

Enable systemd xinetd service if you wish to start it at boot time.

Installation

Install the inetutils package.

It includes a telnet client. A telnet server can be configured with systemd sockets or xinetd. telnetd via systemd requires only the inetutils package. To configure a telnet server with xinetd, install xinetd as well.

Testing the setup

Try opening a telnet connection to your server:

$ telnet localhost

Try a root login to see if your configuration permits it and the security implications that implies.

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

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

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

Опции

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

:/>  Как обновить драйвера видеокарты на Windows 10 |

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

Применения

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

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

Принтер и клавиатура nvt

Принтер NVT имеет неопределённую ширину каретки и длину страницы и должен иметь представление всех 95 печатных символов US-ASCII (коды с 32 по 126). Управляющие символы имеют следующие значения:

Поддержка действия символов, помеченных как *, обязательна. Прочие могут производить заданное действие или не производить никакого; одна сторона не обязана предполагать ничего определённого о поддержке конкретных необязательных управляющих символов другой стороной.

Последовательность «CR LF» должна обрабатываться как единый символ перевода строки и использоваться всякий раз, когда требуется их объединённое действие; последовательность «CR NUL» должна использоваться, где требуется только возврат каретки; использования символа CR следует избегать в других контекстах.

Структура команд telnet

Каждая команда TELNET является многобайтовой последовательностью, начинающейся с кода 377 (десятичное: 255) «Interpret as Command» (IAC) и кода команды. Команды, отвечающие за договорённости по опции, являются трёхбайтовыми последовательностями, где третий байт является кодом опции. Нижеперечисленные коды и кодовые последовательности имеют соответственный смысл, только когда следуют сразу за IAC.

НазваниеКод (десятичный/шестнадцатеричный)Описание
SE240/0xF0Завершает согласование, начатое командой SB.
NOP241/0xF1Нет операции.
Data Mark242/0xF2Синхронизация (Synch) обмена данными. Эта команда всегда сопровождается TCP Urgent notification.
Break243/0xF3Нажата кнопка «Break» или «Attention».
Interrupt Process244/0xF4Приостанавливает, прерывает, аварийно прекращает или завершает процесс.
Abort output245/0xF5Подавление вывода текущего процесса. Также отправляет сигнал Synch пользователю.
Are You There246/0xF6Отправляет обратно ответ терминала, состоящий из печатных символов.
Erase character247/0xF7Получатель должен удалить предыдущий символ, если это возможно.
Erase Line248/0xF8Стереть последнюю введённую строку, то есть все данные, полученные после последнего перевода строки.
Go ahead249/0xF9Ожидается передача данных.
SB250/0xFAНачало согласования опции, требующего передачи параметров.
WILL опция251/0xFBУказывает на желание исполнять или подтверждает, что сейчас исполняется указанная опция.
WON’T опция252/0xFCУказывает на отказ начать или продолжить исполнять указанную опцию.
DO опция253/0xFDЗапрос на то, чтобы другая сторона исполнила или подтвердила исполнение указанной опции.
DON’T опция254/0xFEТребование на то, чтобы другая сторона остановила исполнение или подтвердила то, что указанная опция более не исполняется.
IAC255/0XFFБайт данных 255.
:/>  Пропали значки с рабочего стола Windows 10: как вернуть обратно

Устройство

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

Хотя Telnet-сессии, выполняющейся по TCP, свойственен полный дуплекс, NVT должен рассматриваться как полудуплексное устройство, работающее по умолчанию в буферизированном строковом режиме.

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

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

Оставьте комментарий

Adblock
detector