Технология telnet. Что такое Telnet

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

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


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

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

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

$ telnet localhost 123 $ telnet localhost 22

$ telnet localhost 123

$ telnet localhost 22


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

3. Отладка

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

$ sudo telnet -d localhost 22

$ sudo telnet - d localhost 22

4. Консоль telnet

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


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

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

telnet> status

telnet > status


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

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

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

$ telnet opennet.ru 80

$ telnet opennet . ru 80


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

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

Что такое Telnet

Telnet – представляет собой средство связи, которое устанавливается между терминальными устройствами. Пример такой связи достаточно простой: персональный компьютер и сервер, который поддерживает подобный тип соединения. Телнет не является каким-либо программным обеспечением, это протокол связи . Но необходимо отметить, что есть некоторые утилиты, которые работают посредством протокола «terminalnetwork».

В недавнем прошлом Телнет был одним из основных способов подключения к сети. Сейчас утилита практически не используется . На сегодняшний день в операционные системы установлены более совершенные протоколы, исключая какие-либо дополнительные действия от пользователя.

Этот протокол связи используется в некоторых операциях:

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

Установка и запуск

Скачивать утилиту не нужно, Telnet встроен в Windows 7/8/10 по умолчанию.

Инструкция по установке и запуску:

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

Предлагаем ознакомиться с видео по установке Телнет в Windows:

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

Проверка сетевого порта на наличие доступа к нему персонального компьютера в Telnet:

  • в окне необходимо ввести команду telnetip;
  • далее следует ввести IP адрес компьютера, например, 192.168.1.1. Посмотреть адрес можно в настройках сетевого маршрутизатора;
  • в конце вводим порт FTP «21». Таким образом команда будет выглядеть так: telnet 192.168.0.1 21;
  • после этого появится сообщение об ошибке , если порт недоступен или с просьбой ввести дополнительные данные, если порт открыт.

Команды Telnet

Команды утилиты являются способом взаимодействия с ней. Для отображения списка всех команд , необходимо ввести «help». Далее подробно разберем основные команды:

  • «open» — запрос позволяет выполнить подключение к удаленному серверу;
  • «close» — прерывание процесса подключения к удаленному серверу;
  • «set» — настройка параметров подключения к серверу;
  • «term» — запрос предназначен для указания типа терминала ;
  • «escape» — задает управляющий символ ;
  • «mode» — выбор режима работы ;
  • «unset» — сброс ранее введенных параметров;
  • «start» — запуск сервера;
  • «pause» — временная остановка работы сервера;
  • «continue» — продолжение работы сервера после паузы;
  • «stop» — полное прекращение работы сервера.

Telnet в Linux

Как и в Виндовс, Телнет встроен в операционную систему Linux. Ранее он использовался, как стандартный протокол Telnet, теперь на его место пришел более улучшенный SSH. Как и с предыдущей ОС, утилита в Linux используется для проверки портов, маршрутизаторов и т.д.

Рассмотрим основные режимы работы:

  • «построчный ». Данный режим работы является рекомендованным. В этом случае редактирование запроса осуществляется на локальном ПК и отправляется на сервер только в том случае, когда она готова;
  • «посимвольный ». Каждый набранный символ в окне консоли отправляется на удаленный сервер. Здесь нельзя осуществить редактирование текста. При удалении символа с помощью «Backspace», он тоже будет отправлен на сервер.

Базовые команды в Linux:

  • «close» — прерывание подключения;
  • «encrypt» — включение шифрования;
  • «logout» — выключение утилиты и закрытие соединения;
  • «mode» — выбор режима работы;
  • «status» — состояние соединения;
  • «send» — отправка запроса телнет;
  • «set» — настройка параметров сервера;
  • «open» — подключение к удаленному серверу;
  • «display» — отображение специальных символов.
  • в окне консоли вводим запрос для проверки доступности сервера , например, «telnet 192.168.1.243»;
  • далее проверим доступ к порту путем ввода запроса «telnet localhost 122» и «telnet localhost 21». На экране консоли появится сообщение о том принимает ли соединение какой-либо из портов;
  • пример удаленного управления с помощью телнет. Для этого необходимо ввести в главном окне запрос «telnet localhost 23». «23» порт используемый по умолчанию. Чтобы произвести удаленное управление, необходимо установить на локальный компьютер «telnet-server». После этого появится сообщение с требованием ввода логина и пароля.

Недостатки Telnet

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

Telnet не является внутренней или внешней командой

Данная ошибка появляется в том случае, если данный клиент не установлен на персональном компьютере. Необходимо выполнить следующие действия:


Второй способ:


Вы сталкивались с термином Telnet? Может слышали анекдоты о нем или как другие использовали его.

Для тех, кто не знает, что такое Telnet и его «актуальность» в современном интернете, прочитайте запись ниже.

Узнаете кое-что об его истории и каковы последствия его использования в вопросе безопасности.

Также ознакомитесь с некоторыми современными видами его практического применения.

Что такое протокол Telnet

Telnet представляет собой протокол сети, основанный на тексте, который используется для доступа к удаленным компьютерам с использованием TCP / IP.

Он был создан и запущен в 1969 году – можно сказать, что это был первый интернет.

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

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

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

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

Сегодня Telnet принес многие важные изменения. Теперь есть возможность подключения к серверу одновременно нескольким пользователям.

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

Этот компьютер не нуждается в мощном аппаратном обеспечении, вам понадобится только подключение к сети и текстовый интерфейс.

Что такое сервер Telnet в Windows 7 – Windows 10

В операционной системе Windows 7 – Windows 10 можете добавить две функции:

  • Telnet сервер — если вы установите эту функцию, то можете настроить компьютер для работы в качестве сервера. Это значит, что ваш компьютер будет настроен на входящие соединения и позволит другим использовать его. Если у вас брандмауэр отключен, и есть публичный IP адрес, то любой человек в мире может контролировать ваш компьютер удаленно с помощью клиента Telnet.
  • Клиент Telnet — это позволит вам подключиться через Telnet с любого сервера, используя только окно команд.

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

Хотя Telnet с момента появления очень изменился, технологии по-прежнему имеет слабые стороны.

Хуже всего с безопасностью. Он передает и принимает данные в текстовом режиме без использования шифрования.

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

Каждый кто знает, как использовать отслеживание сетевых соединений будет иметь возможность увидеть все передаваемые данные.


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

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

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

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

Зачем использовать Telnet

Теперь, когда вы немного знаете историю Telnet и что он является очень небезопасным протоколом, но при всем этом все-таки им пользуется – почему.

  • Старые сервера, по-прежнему используют этот протокол для удаленных подключений. До сих пор где-то есть еще несколько старых серверов UNIX, и все еще есть люди, работающие с Telnet для доступа к ним.
  • Некоторые сетевые устройства, такие как маршрутизаторы Cisco позволяют Telnet подсоединятся к ним. В них можно настроить использование клиента.
  • Основная причина, почему люди до сих пор его используют: посмотреть текст, играть в игры, проверить прогноз погоды и многое другое.
  • Некоторые люди до сих пор используют Telnet CPC для управления и подключения к информационным системам и текстовым дискуссиям. Например, на форумах нет ничего, кроме текста. Даже изображения или графика не нужны. Поэтому, есть все еще много активных сообществ в сети.
Надеюсь вы получили базовые знания о Telnet — этот протокол является в современном мире своего рода динозавром, который коренным образом изменился с момента рождения.
  • Системное администрирование
  • Недавняя крупнейшая 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 предоставляет возможность установки канала связи с компьютерами на расстоянии. А сама утилита представляет собой практически своеобразный эмулятор браузера в терминале, поддерживающий несколько сетевых протоколов.

    Раньше telnet часто использовался для того чтобы управлять ПК с операционной системой «Линукс». А сейчас с помощью этой же утилиты тестируют сеть, проверяют порты, управляют роутерами и другими IoT-устройствами.

    Особенности утилиты

    Несмотря на то, что главной задачей telnet является создание связи между удалёнными друг от друга ПК по одноимённому протоколу, с помощью утилиты можно управлять и другими сервисами. Например, получать доступ к POP3, HTTP, IRC или SMTP.

    Ведь эти и некоторые другие сервисы работают на базе транспортного протокола TCP, для работы с которым можно пользоваться клиентом telnet. Хотя делать это не всегда рекомендуется из-за ряда нежелательных эффектов – например, незащищённости передачи данных или их искажения.

    Рис. 1. Включение утилиты telnet в Windows.

    Синтаксис команд telnet при подключении к удалённому компьютеру выглядит следующим образом: $ telnet (опции) (хост) (порт).

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

    • -4 и -6 обеспечивают принудительное использование адресов ipv4 и ipv6, соответственно;
    • -8 даёт возможность использования 8-битной кодировки;
    • -Е отключает поддержку escape-последовательностей;
    • -a автоматически регистрирует пользователя в удалённой системе;
    • -d включает отладочный режим;
    • -p включает эмуляции rlogin;
    • -e устанавливает начальный управляющий символ;
    • -l авторизует пользователя в системе.

    После того как соединение с удалённым хостом установлено утилита telnet начинает работу в одном из двух режимов – построчном или посимвольном.

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

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

    И, если пользователь допустил ошибку, исправить её будет невозможно – ведь даже пробелы и Backspace отправляются на сервер в виде символов.

    Основные команды

    Работая с протоколом telnet, пользователь вводит в консоли соответствующие команды. К самым популярным относят следующие:

    • OPEN (название ПК) (порт). Позволяет обеспечить связь с компьютером, имя которого указано в команде. Если не указывать порт, утилита попытается использовать номер, выбранный по умолчанию. Иногда вместо имени ПК указывают его IP-адрес ;
    • DISPLAY (аргумент). Команда для отображения полного или частичного набора параметров утилиты telnet;
    • CLOSE. Предназначена для закрытия сессии «телнет» и возвращения системы в командный режим;
    • QUIT. Команда для завершения всех открытых соединений и выведения из telnet;


    Рис. 2. Использование команды Quit в клиенте MS Telnet.

    • MODE TYPE. Используется для управления одним из двух вариантов режима ввода (посимвольным или построчным). При этом удалённому компьютеру отправляется запрос на переход в определённый режим, и, если он поддерживается сервисом, обеспечивается соответствующее переключение;
    • STATUS. Команда, с помощью которой отображается текущий статус утилиты, имя удалённого ПК и режим обмена;
    • ? (команда). Сообщает информацию о соответствующей командной последовательности. Нужна в тех случаях, когда пользователь собирается применить незнакомую ему команду;
    • ! (команда). Выполняет командную последовательность на локальной системе;
    • SEND ARGUMENTS. Посылает символьные аргументы удалённому ПК;
    • ESCAPE. Отправляет один из escape-знаков типа запятой, скобки или символа «карет» (^);
    • SYNCH. Служит для отправления synch-последовательности, позволяющей отменить все набранные, но ещё не отправленные команды. Используется только в построчном режиме;
    • BRK . Отправление break-последовательности при нажатии клавиши Break.

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

    А, после вывода на экран полного списка, получить справочную информацию о каждой командной последовательности с помощью команды «?». Хотя, например, для клиента telnet в Windows перечень может оказаться сокращённым.


    Рис. 3. Список команд telnet в клиенте Microsoft.

    Выводы

    Необходимость воспользоваться командами утилиты telnet возникает в настоящее время всё реже. Однако знать некоторые из них стоит хотя бы для получения с их помощью доступа к сетевому оборудованию. Например, к коммутаторам , маршрутизаторам или даже к веб-камерам .

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

    Статьи по теме: