Как открыть 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


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

Вы сталкивались с термином 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 — этот протокол является в современном мире своего рода динозавром, который коренным образом изменился с момента рождения.

Как вы уже могли убедиться, если читали мой пост о настройке Telnet в Windows, работать с этой службой достаточно легко. Можно запустить его без аргументов, указав в командной строке лишь адрес хост-системы. При определенных обстоятельствах еще нужно указать конкретный порт. Первое сообщение, которое видит пользователь, после выполнения команды “ telnet “, посылается самой программой, а после установления связи между клиентом и сервером выводятся сообщения, исходящие от управляемой системы. В связи с этим с удаленной операционной системой можно работать через Telnet таким же образом, как это происходит в случаях с другими специализированными программами дистанционного доступа к ОС. Теперь давайте присмотримся к данной службе поближе и разберем наиболее часто используемые команды Telnet .

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

open узел порт – применяется для установки соединения с заданным узлом;

close – закрывает существующее соединение;

quit – выход из текущего сеанса Telnet;

display – позволяет просмотреть текущие параметры Telnet-клиента;

set – с ее помощью возможно задать Telnet-параметры текущей сессии , а конкретно:

  • set ntlm включит NTLM (использование интегрированной в Telnet проверки подлинности NTLM во время подключения пользователя с удаленного компьютера позволяет обойтись без ввода логина и пароля при входе);
  • set localecho включит режим локального вывода команд;
  • set term vt100/vt52/vtnt/ansi задаст указанный тип терминала (например, VT100 применяют для выполнения обычных программ командной строки, а VTNT – для выполнения расширенных программ, типа “edit”);
  • set escape символ задаст последовательность клавиш, переключающих режим сеанса в командный режим (к примеру, set escape , потом нажатие клавиш “Ctrl+P” и “Enter” установит Ctrl+P в качестве переключателя);
  • set logfile имя_файла укажет на файл журнала текущей активности Telnet (этот файл должен находиться в файловой системе управляющего компьютера);
  • set logging включит ведение журнала (файл журнала должен быть предварительно указан вышеприведенной командой, иначе возникнет сообщение с ошибкой);

unset – выполняет отключение различных параметров сессии Telnet (обратные операции по отношению к set), а именно:

  • unset ntlm отключит встроенную проверку подлинности;
  • unset localecho деактивирует режим локального вывода команд;

status – используется с целью проверки наличия подключения к Telnet-клиенту;

enter – применяется для перехода в существующий подключенный сеанс Telnet;

Или help – отображение справочной информации.

Закончив с делами на удаленной машине, вам нужно будет закрыть соединение с ней. При этом работа самого Telnet завершается не всегда. Чтобы выйти в командную строку Telnet, воспользуйтесь горячими клавишами “Ctrl+]” .

  • Системное администрирование
  • Недавняя крупнейшая 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 - это сетевая утилита, которая позволяет соединиться с удаленным портом любого компьютера и установить интерактивный канал связи, например, для передачи команд или получения информации. Можно сказать, что это универсальный браузер в терминале, который умеет работать со множеством сетевых протоколов.

    Эта утилита очень часто использовалась раньше, для удаленного управления компьютером с 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, а также что представляет из себя эта утилита, хотя она уже не используется по своему основному назначению, но до сих пор может быть полезной многим пользователям и системным администраторам. Если у вас остались вопросы, спрашивайте в комментариях!