Метки: Telnet ubuntu, telnet это доступ к удаленному компьютеру, telnet команды, telnet что это такое.
Название: |
TErminaL NETwork |
---|---|
Уровень (по модели OSI): |
Прикладной |
Семейство: | |
Порт/ID: |
23/TCP |
Назначение протокола: |
виртуальный текстовый терминал |
Спецификация: |
STD 8 |
Основные реализации (клиенты): | |
Основные реализации (серверы): |
telnetd, MS Telnet |
Расширяемость: |
Опции (RFC 855) |
TELNET (RFC 854.
Выполняет функции протокола прикладного уровня модели OSI.
Назначение протокола TELNET в предоставлении достаточно общего, двунаправленного, восьмибитного байт-ориентированного средства связи. Его основная задача заключается в том, чтобы позволить терминальным устройствам и терминальным процессам взаимодействовать друг с другом. Предполагается, что этот протокол может быть использован для связи вида терминал-терминал («связывание») или для связи процесс-процесс («распределенные вычисления»).
Хотя в сессии Telnet выделяют клиентскую и серверную стороны, протокол на самом деле полностью симметричен. После установления транспортного соединения (как правило, TCP) оба его конца играют роль «сетевых виртуальных терминалов» (англ. Network Virtual Terminal, NVT), обменивающихся двумя типами данных:
Хотя Telnet-сессии, выполняющейся по TCP, свойственен полный дуплекс, NVT должен рассматриваться как полудуплексное устройство, работающее по умолчанию в буферизированном строковом режиме.
Прикладные данные проходят через протокол без изменений[2], то есть на выходе второго виртуального терминала мы видим именно то, что было введено на вход первого. С точки зрения протокола данные представляют просто последовательность байтов (октетов), по умолчанию принадлежащих набору ASCII, но при включенной опции Binary — любых. Хотя были предложены расширения для идентификации набора символов [3], но на практике ими не пользуются.
Все значения октетов прикладных данных кроме \377 (десятичное: 255) передаются по транспорту как есть. Октет \377 передаётся последовательностью \377\377 из двух октетов. Это связано с тем, что октет \377 используется на транспортном уровне для кодирования опций.
Протокол предоставляет по умолчанию минимальную функциональность и набор расширяющих её опций. Принцип оговоренных опций требует проводить переговоры при включении каждой из опций. Одна сторона инициирует запрос, а другая сторона может либо принять, либо отвергнуть предложение. Если запрос принимается, то опция немедленно вступает в силу. Опции описаны отдельно от протокола как такового, и их поддержка программным обеспечением произвольна. Клиенту протокола (сетевому терминалу) предписывается отвергать запросы на включение неподдерживаемых и неизвестных опций.
Принтер NVT имеет неопределённую ширину каретки и длину страницы и должен иметь представление всех 95 печатных символов US-ASCII (коды с 32 по 126). Управляющие символы имеют следующие значения:
Название | Код (десятичный/шестнадцатеричный) | Описание |
---|---|---|
NULL (NUL) * | 0/0x00 | Нет операции. |
Line Feed (LF) * | 10/0x0A | Переводит принтер на следующую строку печати, оставаясь на той же горизонтальной позиции. |
Carriage Return (CR) * | 13/0x0D | Перемещает принтер к левой границе текущей строки. |
BELL (BEL) | 7/0x07 | Производит аудио или видеосигнал (но НЕ перемещает головку принтера). |
Back Space (BS) | 8/0x08 | Перемещает головку принтера на один символ по направлению к левой границе. |
Horizontal Tab (HT) | 9/0x09 | Перемещает принтер на следующую остановку горизонтальной табуляции. Остается неопределённым как сторона определяет и устанавливает эти остановки табуляции. |
Vertical Tab (VT) | 11/0x0B | Перемещает принтер на следующую остановку вертикальной табуляции. Остается неопределённым как сторона определяет и устанавливает эти остановки табуляции. |
Form Feed (FF) | 12/0x0C | Перемещает принтер к верхней части следующей страницы, оставаясь на той же горизонтальной позиции. |
Поддержка действия символов, помеченных как *, обязательна. Прочие могут производить заданное действие или не производить никакого; одна сторона не обязана предполагать ничего определённого о поддержке конкретных необязательных управляющих символов другой стороной.
Последовательность «CR LF» должна обрабатываться как единый символ перевода строки и использоваться всякий раз, когда требуется их объединённое действие; последовательность «CR NUL» должна использоваться, где требуется только возврат каретки; и использования символа CR следует избегать в других контекстах.
Каждая команда TELNET является многобайтовой последовательностью, начинающейся с кода \377 (десятичное: 255) «Interpret as Command» (IAC) и кода команды. Команды, отвечающие за договоренности по опции, являются трехбайтовыми последовательностями, где третий байт является кодом опции. Нижеперечисленные коды и кодовые последовательности имеют соответственный смысл только когда следуют сразу за IAC.
Название | Код (десятичный/шестнадцатеричный) | Описание |
---|---|---|
SE | 240/0xF0 | Завершает согласование, начатое командой SB. |
NOP | 241/0xF1 | Нет операции. |
Data Mark | 242/0xF2 | Синхронизация (Synch) обмена данными. Эта команда всегда сопровождается TCP Urgent notification. |
Break | 243/0xF3 | Нажата кнопка «Break» или «Attention». |
Interrupt Process | 244/0xF4 | Приостанавливает, прерывает, аварийно прекращает или завершает процесс. |
Abort output | 245/0xF5 | Подавление вывода текущего процесса. Также отправляет сигнал Synch пользователю. |
Are You There | 246/0xF6 | Отправляет обратно ответ терминала, состоящий из печатных символов. |
Erase character | 247/0xF7 | Получатель должен удалить предыдущий символ, если это возможно. |
Erase Line | 248/0xF8 | Стереть последнюю введённую строку, то есть все данные, полученные после последнего перевода строки. |
Go ahead | 249/0xF9 | Ожидается передача данных. |
SB | 250/0xFA | Начало согласования опции, требующего передачи параметров. |
WILL опция | 251/0xFB | Указывает на желание исполнять или подтверждает, что сейчас исполняется указанная опция. |
WON’T опция | 252/0xFC | Указывает на отказ начать или продолжить исполнять указанную опцию. |
DO опция | 253/0xFD | Запрос на то, чтобы другая сторона исполнила или подтвердила исполнение указанной опции. |
DON’T опция | 254/0xFE | Требование на то, чтобы другая сторона остановила исполнение или подтвердила то, что указанная опция более не исполняется. |
IAC | 255/0XFF | Байт данных 255. |
Исторически Telnet служил для удалённого доступа к интерфейсу командной строки операционных систем. Впоследствии его стали использовать для прочих текстовых интерфейсов, вплоть до игр MUD и анимированного ASCII-art. Теоретически, даже обе стороны протокола могут являться не только людьми, но и программами.
Иногда клиенты telnet используются для доступа к другим протоколам на основе транспорта TCP, см. Telnet и другие протоколы.
Протокол telnet используется в управляющем соединении FTP, то есть заходить на сервер командой telnet ftp.example.net ftp
для выполнения отладки и экспериментов не только возможно, но и правильно (в отличие от применения клиентов telnet для доступа к HTTP, IRC и большинству других протоколов).
В протоколе не предусмотрено использование ни шифрования, ни проверки подлинности данных. Поэтому он уязвим для любого вида атак, к которым уязвим его транспорт, то есть протокол TCP. Для функциональности удалённого доступа к системе в настоящее время применяется сетевой протокол SSH (особенно его версия 2), при создании которого упор делался именно на вопросы безопасности. Так что следует иметь в виду, что сессия Telnet весьма беззащитна, если только не осуществляется в полностью контролируемой сети или с применением защиты на сетевом уровне (различные реализации виртуальных частных сетей). По причине ненадёжности от Telnet как средства управления операционными системами давно отказались.
В среде специалистов по технологиям internet распространено мнение, что клиент Telnet пригоден для осуществления ручного доступа (например, в целях отладки) к таким протоколам прикладного уровня как HTTP, IRC, SMTP, POP3 и прочим текст-ориентированным протоколам на основе транспорта TCP. Однако, использование клиента telnet в качестве клиента TCP вызывает следующие нежелательные эффекты:
Такие программы, как netcat, действительно обеспечивают чистый доступ к TCP, однако требуются специальные ухищрения (как-то stty -icrnl
на UNIX-системе) для передачи перевода строки как CR LF (что требуется многими протоколами). Обычно клиент Telnet по умолчанию передаёт любой перевод строки как CR LF, независимо от его кодирования в системе клиента. Также для отладочного доступа к прикладным протоколам (кроме FTP и, собственно, Telnet) является использование клиента PuTTY в режиме «Raw» (чистый доступ к TCP) — PuTTY преобразует переводы строки отдельно от поддержки протокола Telnet.
Схемы URI | |
---|---|
Официальные | aaa: • aaas: • acap: • cap: • cid: • crid: • data: • dav: • dict: • dns: • fax: • file: • ftp: • go: • gopher: • h323: • http: • https: • im: • imap: • ldap: • mailto: • mid: • news: • nfs: • nntp: • pop: • pres: • rtsp: • sip: • sips: • snmp: • tel: • telnet: • urn: • wais: • xmpp: |
Неофициальные | about: • aim: • bolo: • btc: • bzr: • callto: • chrome: • cvs: • daap: • ed2k: • ed2kftp: • feed: • fish: • git: • gizmoproject: • iax2: • irc: • ircs: • itms: • lastfm: • ldaps: • magnet: • mms: • msnim: • psyc: • rsync: • secondlife: • skype: • ssh: • svn: • sftp: • smb: • sms: • soldat: • steam: • unreal: • ut2004: • view-source: • webcal: • xfire: • ymsgr: |
Основные протоколы TCP/IP по уровням модели OSI (Список портов TCP и UDP) | |
---|---|
Физический | |
Канальный |
Ethernet • PPPoE • PPP • L2F • 802.11 Wi-Fi • 802.16 WiMax • Token ring • ARCNET • FDDI • HDLC • SLIP • ATM • CAN • DTM • X.25 • Frame relay • Shortest Path Bridging • SMDS • STP • ERPS |
Сетевой | |
Транспортный | |
Сеансовый | |
Представления | |
Прикладной | |
Другие прикладные |
Bitcoin • OSCAR • CDDB • Multicast FTP • Multisource FTP • BitTorrent • Gnutella • Skype |
Tags: Telnet ubuntu, telnet это доступ к удаленному компьютеру, telnet команды, telnet что это такое.