Для чего применяется telnet. Команды Telnet

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

Эта утилита очень часто использовалась раньше, для удаленного управления компьютером с Linux, но потом ей на замену пришел защищенный протокол SSH. Но telnet все еще используется, например, для тестирования сети, проверки портов, а также для взаимодействия с различными IoT устройствами и роутерами. В этой статье мы рассмотрим что такое telnet, а также как пользоваться telnet для решения своих задач.

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

Для работы с этим протоколом мы будем использовать утилиту telnet, ею очень просто пользоваться. Давайте рассмотрим синтаксис telnet:

$ telnet опции хост порт

Хост - это домен удаленного компьютера, к которому следует подключиться, а порт - порт на этом компьютере. А теперь давайте рассмотрим основные опции:

  • -4 - принудительно использовать адреса ipv4;
  • -6 - принудительно использовать адреса ipv6;
  • -8 - использовать 8-битную кодировку, например, Unicode;
  • -E - отключить поддержку Escape последовательностей;
  • -a - автоматический вход, берет имя пользователя из переменной окружения USER;
  • -b - использовать локальный сокет;
  • -d - включить режим отладки;
  • - режим эмуляции rlogin;
  • -e - задать символ начала Escape последовательности;
  • -l - пользователь для авторизации на удаленной машине.

Это все, что касается команды telnet для установки соединения. Но соединение с удаленным хостом, это только полдела. После установки подключения telnet может работать в двух режимах:

  • Построчный - это предпочтительный режим, здесь строка текста редактируется на локальном компьютере и отправляется только тогда, когда она будет полностью готова. На такая возможность есть не всегда и не у всех сервисов;
  • Посимвольный - все набираемые вами символы отправляются на удаленный сервер. Тут будет сложно что-либо исправить, если вы допустили ошибку, потому что Backspace тоже будет отправляться в виде символа и стрелки движения тоже.

Использование telnet заключается в передаче специальных команд. У каждого сервиса свои команды, но у протокола есть свои команды telnet, которые можно применять в консоли telnet.

  • CLOSE - закрыть соединение с сервером;
  • ENCRYPT - шифровать все передаваемые данные;
  • LOGOUT - выйти и закрыть соединение;
  • MODE - переключить режим, со строчного на символьный или с символьного на строчный;
  • STATUS - посмотреть статус соединения;
  • SEND - отправить один из специальных символов telnet;
  • SET - установить значение параметра;
  • OPEN - установить подключение через telnet с удаленным узлом;
  • DISPLAY - отобразить используемые спецсимволы;
  • SLC - изменить используемые спецсимволы.

Мы не будем рассматривать все команды, поскольку они вам вряд ли понадобятся, а если и понадобятся, то вы легко сможете их найти в официальной документации.

Как пользоваться telnet?

Дальше мы рассмотрим как использовать telnet для решения ваших задач. Обычно, утилита уже установлена в большинстве систем, но если это не так, то вы можете установить telnet из официальных репозиториев, например, в Ubuntu:

sudo apt install telnet

Теперь перейдем к применению утилиты. Изначально она использовалась для удаленного управления компьютером, но поскольку потом был разработан более безопасный протокол SSH, использовать ее перестали.

1. Доступность сервера

Утилита все еще может быть полезной при поверке доступности узла, для этого просто передайте ей ip адрес или имя хоста:

telnet 192.168.1.243

Для этого не обязательно применять telnet, есть ping.

2. Проверка порта

C помощью telnet мы можем проверить доступность порта на узле, а это уже может быть очень полезным. Чтобы проверить порт telnet выполните:

telnet localhost 123
$ telnet localhost 22

В первом случае мы видим, что соединение никто не принимает, во втором же выводится сообщение об успешном подключении и приветствие SSH сервера.

3. Отладка

Чтобы включить режим отладки и выводить более подробную информацию во время работы используйте опцию -d во время подключения:

sudo telnet -d localhost 22

4. Консоль telnet

Использование консоли telnet тоже важный момент в разборе как пользоваться telnet. В основном режиме вы можете выполнять команды, на удаленном сервере, если же вы хотите адресовать команду именно telnet, например, для настройки ее работы, необходимо использовать спецсимвол для открытия консоли, обычно утилита сразу говорит вам что это за символ, например, по умолчанию используется "^[":

Для его активации вам нужно нажать сочетание клавиш Ctrl+[, затем вы уведите приглашение ввода telnet.

Чтобы посмотреть все доступные команды, вы можете набрать?. Например, вы можете посмотреть статус подключения:

telnet> status

Здесь есть и другие интересные возможности. Такие вещи можно проделывать при любом подключении с помощью утилиты telnet.

5. Посмотреть сайт telnet

Один из распространенных способов использования telnet - это тестирование сайта из консоли. Да, красивую веб-страницу вы не получите, но можете вручную собрать запросы и видеть все переданные сервером данные.

telnet opennet.ru 80

Затем наберите команду веб-серверу:

Веб сервер вернет полностью страницу, а также заголовки, которые необходимы для ее отображения браузером.

6. Удаленное управление telnet

Настоятельно не рекомендуется использовать небезопасный telnet для удаленного управления, потому что все команды и пароли могут быть прослушаны сторонним пользователем. Но иногда, например, для роутеров telnet все же используется для удаленного управления. Все работает точно так же, как и для других подключений, только нужно использовать порт 23, а на удаленном компьютере должен быть установлен telnet-server:

telnet localhost 23

Тут порт можно даже не указывать, потому что по умолчанию будет использоваться именно 23. Далее, вам нужно ввести логин и пароль, а затем вы сможете выполнять команды в удаленной системе.

Выводы

В этой статье мы рассмотрели примеры использования telnet, а также что представляет из себя эта утилита, хотя она уже не используется по своему основному назначению, но до сих пор может быть полезной многим пользователям и системным администраторам. Если у вас остались вопросы, спрашивайте в комментариях!

Telnet можно использовать как команду в операционной системе Windows. На самом деле это не только исполняемая служба, но и сетевой протокол или даже микропрограмма, которая при помощи текстового поля позволяет пользователю «общаться» с удаленным компьютером, передавая системе команду на выполнение того или иного действия, а также получения лога его выполнения.

Расшифровывается название протокола как Terminal network, что в дословном переводе означает – терминальная сеть.

Что собой представляет Terminal network

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

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

Многие считают, что такое соединение работает, как и большинство сетевых служб, по принципу клиент-сервер. Однако это не так. telnet – полностью двусторонняя служба с одинаковыми функциями и уровнями доступа.

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

Как работать с оболочкой?

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


Как управлять службой?

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


Если вы знакомы с опциями, можно сразу подключаться к нужному ресурсу с указанием необходимых данных. В этом случае сервер для соединения – «smatp.ya.ru» и порт – «25».

Итог:

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

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

Обсуждение подопций

Некоторые опции требуют большего количества информации, нежели просто "включить" (enable) или "выключить" (disable). Например, установка типа терминала: для того чтобы клиент мог идентифицировать тип терминала, он должен отправить ASCII строку. Чтобы обработать эти опции, применяется обсуждение подопций.

RFC 1091 определяет подопции, которые необходимо обсудить для установки типа терминала. Во-первых, одна сторона (обычно клиент) просит включить опцию, отправляя 3-байтовую последовательность

где 24 (десятичное) это идентификатор опции типа терминала. Если получатель (сервер) говорит ДА, его ответ будет выглядеть как

Затем сервер посылает

спрашивая о типе терминала клиента. SB это команда, которая сообщает о начале подопций (suboption-begin). Следующий байт равный 24 указывает на то, что это подопция типа терминала. (SB всегда следует за номером опции, к которой относятся подопции.) Следующий байт равный 1 означает "отправьте ваш тип терминала". Перед командой конец подопций (suboption-end) должен опять стоять IAC, так же как и перед командой SB. Клиент отвечает командой

в случае, если его тип терминала ibmpc. Четвертый байт равный 0 означает "у меня следующий тип терминала". ("Официальный" список приемлемых типов терминалов находится в Assigned Numbers RFC, однако для Unix систем приемлем любой тип терминала, поддерживаемый сервером. Обычно это терминалы, поддерживаемые базами termcap или terminfo.) Типы терминалов, указываемые в подопциях Telnet, пишутся большими буквами и обычно преобразуются в маленькие буквы уже сервером.

Команды Telnet позволяют связаться с удаленным компьютером, использующим протокол Telnet. Можно выполнить команду telnet без параметров для входа в контекст Telnet, обозначенный в командной строке Telnet (Microsoft Telnet>). В командной строке Telnet используйте команды Telnet для управления компьютером, на котором выполняется клиент Telnet.

Командная строка клиента Telnet принимает следующие команды.

Команда Описание
open Синтаксис: openимя_узла . Используется для установки соединения с узлом по протоколу Telnet
close Команда close используется для закрытия существующего соединения по протоколу Telnet
display Команда display используется для просмотра текущих параметров клиента Telnet
send Команда send используется для отправления команд на сервер Telnet. Поддерживаются следующие команды: ao Отменяет команду ввода ayt Команда «Вы на месте?» esc Отправляет текущий управляющий знак ip Прерывает выполнение команды обработки synch Выполняет операцию синхронизации Telnet brk Отправляет сигнал разрыва Любые другие команды, отличные от указанных выше, отправляются на сервер Telnet как строка. Например, команда sendabcd отправит строку abcd на этот сервер, который отобразит строку в окне сеанса Telnet
quit Команда quit используется для выхода из клиента Telnet
set Команда set с одним из следующих аргументов используется для настройки клиента Telnet в текущем сеансе. bsasdel Назначает удаление последнего символа в качестве удаления параметр codeset Параметр доступен, если установлен японский язык. Используется для задания кодовой страницы в ключе параметр, который может принимать одно из следующих значений:
  • Shift JIS
  • Japanese EUC
  • JIS Kanji
  • JIS Kanji (78)
  • DEC Kanji
  • NEC Kanji
Необходимо назначить такую же кодовую страницу на удаленном компьютере. По умолчанию для клиента Telnet используются точечные шрифты. Перед получением доступа к удаленному компьютеру, на котором применяется одна из этих кодовых страниц, следует настроить клиент Telnet на работу со шрифтами TrueType для гарантии правильного отображения символов crlf Новый линейный режим, который определяет клавишу ВВОД как 0x0D, 0x0A delasbs Назначает удаление в качестве удаления последнего символа escapeсимвол Переключение из режима сеанса Telnet в режим команд Telnet. Для возврата в режим сеанса в режиме команд следует нажать клавишу ВВОД localecho Включает режим локального отображения команд logfileимя Указывает имя файла, в который записывается журнал Telnet для данного сеанса. Если путь к файлу не указан, он создается в текущей папке. Задание файла журнала включает его ведение logging Включает ведения журнала для данного сеанса mode {console | stream} Режим работы ntlm Включает проверку подлинности NTLM term {ansi | vt100 | vt52 | vtnt} Тип терминала, который необходимо эмулировать клиенту Telnet ? Отображает справочные сведения для команды set
unset Команда unset используется для отключения параметров, предварительно заданных с помощью команды set
status Команда status позволяет определить, подключен ли компьютер, на котором выполняется клиент Telnet
? или help Отображает справочные сведения


ВОПРОСЫ ДЛЯ ЗАЩИТЫ:

1. Принципы, положенные в основу взаимодействия про протоколу Telnet(NVT,договорные опции, симметричность)

2. Как происходит согласование формы представления данных в Unix-системах

3. NVT(основные функции, как определен в Telnet, буферезирован или небуферезирован

4. Команды управления терминалом. Краткая характеристика.

5. Синхронизация в Telnet.

6. Формат команды.Пример

7. Программа-сервер(telnetd).Принцип работы.

8. Программа-клиент(telnet).Режимы работы. Основные команды режима командной строки.

9. Объяснить на своем примере принцип договорных опций/подопций.

  • Системное администрирование
  • Недавняя крупнейшая DDoS атака на DNS-серверы компании Dyn на Хабре . Особенностью этого блэкаута стала широкое применение http запросов c IoT устройств и открытый 23-й tcp порт, используемый службой telnet .


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

    Теоретический минимум

    Уязвимость CVE-2016-1000245 - это просто караул. На всех девайсах один и тот же рутовый пароль xc3511, который нельзя изменить так как на системе нет команды passwd . Служба telnet включена и из настроек никак не отключается, разве что удалить инит скрипт из /etc/init.d/rcS .


    /etc $ cat passwd root:absxcfbgXtb3o:0:0:root:/:/bin/sh /etc $ cat passwd- root:ab8nBoH3mb8.g:0:0::/root:/bin/sh
    All internet-capable XiongMai Technology boards running the DVR/NVR CMS (Also known as
    NetSurveillance) enable the telnet service to run on the primary ethernet interface. This service
    is run via /etc/rcS and cannot be disabled. The user "root" has a hardcoded and immutable
    password of xc3511. These systems do not have the "passwd" tool installed and the root
    password cannot be changed from command line nor from the web interface.

    Уязвимость CVE-2016-1000246 не уступает первой. Можно обойти ввод учетной записи и пароля, если зайти через http:///DVR.htm .


    Many known XiongMai DVRs, NVRs and IP Cameras run "CMS" (also called NetSurveillance) built by XM Technologies. This software is also used by all downstream vendors of XiongMai Technologies. The login page for these devices can be bypassed by simply changing the from http://_IP_/Login.htm to http://_IP_/DVR.htm . This allows you access to view all the camera systems without authentication. Furthermore, there is no logging on the system so user management is not possible. The web-server version on all affected products is the same; “uc-httpd”. All products currently affected by CVE-2016-1000245 are also vulnerable to the authentication bypass.

    Надеюсь, что в наших аэропортах не установлены эти самые XiongMai и Dahua .

    Итоги

    Телнет оказался очень живуч и даже спустя десятилетия после появления ssh не спешит покидать сцену. Он вполне пригоден, даже полезен, если его использовать по назначению - в пределах прямой видимости между клиентом и сервером. Дело, однако в том, что телнет вырвался на волю из серверной, как джин из бутылки и уже начал пошаливать. По чьей вине это случилось?


    С моего забора вижу так. Во-первых , основная вина на горе-производителях дырявых IoT устройств и встроенных систем. Все эти XiongMai и Dahua . С опозданием, но производитель отзывает из продажи IP-камеры . Однако, беглый обзор новостей показывает, что PR-отделы китайских компаний и сотрудники министерства коммерции не даром едят свой хлеб.


    Мне это отделение известно! Там кому попало выдают паспорта!

    Во-вторых , конечно виноваты регулирующие органы - те, кто их сертифицирует и дает положительное заключение. Из отчета Rapid7.


    These results all speak to a fundamental failure in modern internet engineering. Despite calls from the Internet Architecture Board, the Internet Engineering Task Force, and virtually every security company and security advocacy organization on Earth, compulsory encryption is not a default, standard feature in internet protocol design. Cleartext protocols “just work,” and security concerns are doggedly secondary.

    В-третьих , подрядчики и интеграторы, которые засадили весь мир этими CCTV камерами.
    Если не принять законодательные меры, регулирующие ИТ безопасность интернет-утюгов и видеокамер, то блэкауты станут все чаще и круче, как кайдзю.





    P. S. Пока набирал текст, возникло сильное желание - проверить домашний роутер nmap-ом и прочими инструментами. Проверил и успокоился, но видимо ненадолго.

    Использованные материалы

    1. W. Richard Stevens TCP/IP Illustrated, Volume 1, The Protocols, 1994.

    Теги:

    • linux
    • telnet
    • botnet
    • honeypot
    Добавить метки

    В этой статье я расскажу, как использовать telnet в операционной системе (ОС) Windows 7. Но в начале коротко остановлюсь на том, что же такое telnet и для чего он используется. Telnet – это один из протоколов сетевого взаимодействия. Появился он ещё в прошлом столетии и зачастую использовался для удалённого подключения к различным устройствам в сети.

    И так, перейдем непосредственно к нашему вопросу. В стандартной установке в операционной сиситеме Windows 7 данный протокол отключен. Если возникает необходимость в использовании этого протокола на рабочих станциях с ОС Windows 7 нужно выполнить некоторые манипуляции по его включению. Необходимость его использования может возникнуть не только у системных администраторов, которые с его помощью настраивают сетевые устройства и часто используют его в работе, но и у рядовых пользователей, далёких от системного администрирования.

    Имеется, как минимум два способа как включить протокол telnet в ОС Windows 7.

    Первый наиболее простой способ следующий:

    В окошке ставим галочку – «Клиент Telnet».

    На этом всё, вы успешно включили протокол Telnet на вашем компьютере.

    Возможен ещё один нюанс при включении протокола таким методом, может быть следующая ситуация, что когда при выборе – «Включение или отключение компонентов Windows» перечень компонентов может быть пустой. От нас потребуется внести небольшую корректировку в реестр. Напоминаю, как открыть реестр нажимаем «Пуск» — чуть выше Пуска в строчке поиска набираем regedit,

    После этого нужно отправить рабочую станцию в перезагрузку и повторить вышеуказанные действия.

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

    Итак, нажимаем «Пуск» — чуть выше Пуска в строчке поиска набираем cmd и жмем Enter.

    Открывается черное окошко, в котором мигает курсор, это то что нам необходимо — командная строка. Далее в этой строке набираем команду «dism/online/Enable-Feature/FeatureName:TelnetClient» и нажимаем Enter.

    После непродолжительной паузы появляется информационное окошко, что операция выполнена успешно. Всё установка Telneta завершена.

    Надеюсь, что моя статья будет полезна. Помните, что Telnet это далеко не безопасный протокол, поэтому, работая с ним нужно помнить о мерах безопасности.



    Есть вопросы?

    Сообщить об опечатке

    Текст, который будет отправлен нашим редакторам: