Telnet протокол что это
Как пользоваться telnet
Эта утилита очень часто использовалась раньше, для удаленного управления компьютером с Linux, но потом ей на замену пришел защищенный протокол SSH. Но telnet все еще используется, например, для тестирования сети, проверки портов, а также для взаимодействия с различными IoT устройствами и роутерами. В этой статье мы рассмотрим что такое telnet, а также как пользоваться telnet для решения своих задач.
Что такое Telnet?
Как я уже сказал, эта утилита предназначена для создания интерактивного соединения между удаленными компьютерами. Она работает по протоколу TELNET, но этот протокол поддерживается многими сервисами, поэтому ее можно использовать для управления ими. Протокол работает на основе TCP, и позволяет передавать обычные строковые команды на другое устройство. Он может использоваться не только для ручного управления но и для взаимодействия между процессами.
Для работы с этим протоколом мы будем использовать утилиту telnet, ею очень просто пользоваться. Давайте рассмотрим синтаксис telnet:
$ telnet опции хост порт
Это все, что касается команды telnet для установки соединения. Но соединение с удаленным хостом, это только полдела. После установки подключения telnet может работать в двух режимах:
Использование telnet заключается в передаче специальных команд. У каждого сервиса свои команды, но у протокола есть свои команды telnet, которые можно применять в консоли telnet.
Мы не будем рассматривать все команды, поскольку они вам вряд ли понадобятся, а если и понадобятся, то вы легко сможете их найти в официальной документации.
Как пользоваться telnet?
Дальше мы рассмотрим как использовать telnet для решения ваших задач. Обычно, утилита уже установлена в большинстве систем, но если это не так, то вы можете установить telnet из официальных репозиториев, например, в Ubuntu:
sudo apt install telnet
Теперь перейдем к применению утилиты. Изначально она использовалась для удаленного управления компьютером, но поскольку потом был разработан более безопасный протокол SSH, использовать ее перестали.
1. Доступность сервера
Утилита все еще может быть полезной при поверке доступности узла, для этого просто передайте ей ip адрес или имя хоста:
Для этого не обязательно применять telnet, есть ping.
2. Проверка порта
C помощью telnet мы можем проверить доступность порта на узле, а это уже может быть очень полезным. Чтобы проверить порт telnet выполните:
telnet localhost 123
$ telnet localhost 22
В первом случае мы видим, что соединение никто не принимает, во втором же выводится сообщение об успешном подключении и приветствие SSH сервера.
3. Отладка
4. Консоль telnet
Использование консоли telnet тоже важный момент в разборе как пользоваться telnet. В основном режиме вы можете выполнять команды, на удаленном сервере, если же вы хотите адресовать команду именно telnet, например, для настройки ее работы, необходимо использовать спецсимвол для открытия консоли, обычно утилита сразу говорит вам что это за символ, например, по умолчанию используется «^[«:
Для его активации вам нужно нажать сочетание клавиш Ctrl+[, затем вы уведите приглашение ввода telnet.
Здесь есть и другие интересные возможности. Такие вещи можно проделывать при любом подключении с помощью утилиты telnet.
5. Посмотреть сайт telnet
telnet opennet.ru 80
Затем наберите команду веб-серверу:
Веб сервер вернет полностью страницу, а также заголовки, которые необходимы для ее отображения браузером.
6. Удаленное управление telnet
Настоятельно не рекомендуется использовать небезопасный telnet для удаленного управления, потому что все команды и пароли могут быть прослушаны сторонним пользователем. Но иногда, например, для роутеров telnet все же используется для удаленного управления. Все работает точно так же, как и для других подключений, только нужно использовать порт 23, а на удаленном компьютере должен быть установлен telnet-server:
telnet localhost 23
Тут порт можно даже не указывать, потому что по умолчанию будет использоваться именно 23. Далее, вам нужно ввести логин и пароль, а затем вы сможете выполнять команды в удаленной системе.
Выводы
В этой статье мы рассмотрели примеры использования telnet, а также что представляет из себя эта утилита, хотя она уже не используется по своему основному назначению, но до сих пор может быть полезной многим пользователям и системным администраторам. Если у вас остались вопросы, спрашивайте в комментариях!
Протоколы прикладного уровня. TELNET
Главная задача Интернета и его набора протоколов TCP/IP — это обеспечить сервис для пользователя. Например, пользователь хочет иметь возможность выполнять различные прикладные программы на удаленном сайте и создать результат, который может быть передан к его местному сайту. Один из путей удовлетворения такой потребности — создать различные прикладные программы клиент- сервер для каждой услуги. Уже доступны программы передачи файлов ( FTP и TFTP ), электронной почты ( SMTP ) и так далее. Однако все конкретные программы клиентсервер для каждого применения описать невозможно.
Концепция
TELNET основан на концепциях, которые обсуждаются ниже.
Внешняя среда с разделением времени
TELNET был разработан в эпоху, когда большие операционные системы, такие как UNIX, работали с внешней средой по принципу разделения времени. Согласно этому принципу, большой компьютер поддерживал множество пользователей, предоставляя им часть общего времени. Взаимодействие между пользователем и компьютером осуществляется с помощью терминала, который обычно состоит из комбинации клавиатуры, монитора и мышки. Даже микрокомпьютер может моделировать терминал с помощью терминального эмулятора.
В среде с разделением времени вся обработка информации проводится в центральном компьютере. Когда пользователь печатает символ на клавиатуре, символ обычно посылается компьютеру и отражается на мониторе. Разделение по времени создается средой, в которой для каждого пользователя создается иллюзия специализированного компьютера. Пользователь выполняет программу доступа к системным ресурсам, переключается от одной программы к другой и так далее.
Логин
Местный логин
Когда пользователь входит в местную систему с разделением времени, это называется местный логин. Как только пользователь напечатает некое слово на терминале или рабочей станции, выполняющей эмуляцию терминала, сразу начинает работать терминальная программа (драйвер), которая распознает значение введенных символов. Терминальный драйвер передает символы операционной системе, в рамках этой системы комбинация символов интерпретируется и вызывает желаемую прикладную программу или утилиту (рис. 12.1 ).
Однако этот механизм не такой простой, как кажется, потому что операционная система может назначить специальные значения для специальных символов. Скажем, в UNIX некоторые комбинации символов имеют специальное значение, например, комбинации управляющих символов с символом «z», которые означают прекращение действия; комбинации управляющих символов с символом «c» означают остановку; и так далее. Несмотря на то что эти специальные ситуации не создают никаких проблем в местном вхождении в систему (login), потому что терминальный эмулятор и терминальный драйвер знают точно значение каждого символа и комбинации символов, они могут создавать проблемы при удаленном входе в систему. Какой процесс должен интерпретировать специальные символы? Клиент или сервер? Эта ситуация будет рассмотрена в этой лекции позднее.
Удаленный логин
Когда пользователь хочет иметь доступ к прикладной программе или утилите, размещенным на удаленном компьютере, он выполняет дистанционный вход в систему (логин). Здесь TELNET берет на себя функции клиента и сервера. Пользователь посылает сигнал нажатия кнопки терминальному драйверу, где местная операционная система принимает символы и интерпретирует их. Эти символы посылает TELNET-клиент, который преобразует символы к универсальному набору, называемому символы виртуального сетевого терминала (Network Virtual Terminal Characters), и доставляет их к местному стеку протоколов TCP/IP (рис. 12.2 ).
Команды или текст в форме сетевого виртуального терминала ( NVT ) перемещаются через Интернет и прибывают на стек протоколов TCP/IP в удаленной машине. Здесь символы доставляются операционной системе и проходят к TELNET-серверу, который преобразует их в символы, понятные удаленному компьютеру. Однако символы не могут пройти прямо на операционную систему, потому что удаленная операционная система не разработана для получения трактовки этих символов от TELNET. Она спроектирована так, чтобы принимать символы от драйвера терминала. Решение, добавляющее необходимое программное обеспечение, называется псевдотерминальным драйвером, который преобразовывает поступившие символы как символы, поступающие от местного терминала. Операционная система затем предает символы к соответствующей прикладной программе.
Сетевой виртуальный терминал (NVT)
Telnet: что это за протокол?
Когда большинство людей думают об интернете, то о чем они действительно думают, так это о сети. Однако физическая сеть, составляющая Интернет, несет в себе гораздо больше, чем просто веб-сайты и общедоступные услуги, которыми мы все пользуемся каждый день.
На самом деле, большая часть интернета вообще не связана с сетью, а представляет собой целый ряд других интернет-сервисов, которые используют различные «протоколы». HTTP или протокол передачи гипертекста используется, чтобы служить веб-сайтам для вашего браузера, как один из примеров. Telnet — это также интернет-протокол, но с другой историей и интересным использованием.
Но что такое телнет? В этой статье вы узнаете только это.
Что такое telnet?
Тим Старлинг (WMF)/CC BY-SA (https://creativecommons.org/licenses/by-sa/4.0)
Telnet — это текстовый сетевой протокол, который позволяет клиенту (это вам) общаться с удаленным компьютером, где-то в Интернете. Обычно соединения Telnet проходят через порт 23, и, как и веб-сайты, службы Telnet имеют определенный адрес.
В прошлом вы могли использовать выделенный терминал для доступа к службе Telnet. Терминалы на самом деле не полные компьютеры, а просто устройства, которые обеспечивают удаленное «лицо» для удаленного компьютера.
В наши дни практически все, от умных часов до умного телевизора, обладает полной вычислительной мощностью, поэтому тупые терминалы больше не используются. Чтобы использовать службу Telnet сегодня, вам потребуется приложение, известное как эмулятор терминала. Хорошей новостью является то, что для каждой операционной системы существует множество отличных эмуляторов бесплатных терминалов.
Вы можете подумать, что Telnet не звучит так уж актуально. Хотя это более непонятный интернет-сервис, во всем мире существует значительное и самоотверженное сообщество Telnet.
Он также по-прежнему играет очень важную роль в управлении удаленным компьютером с низкой пропускной способностью. Это означает, что Telnet не только далек от смерти, у него еще впереди светлое будущее. Прежде чем мы перейдем к этому, давайте кратко рассмотрим, откуда появился Telnet.
Краткая история Telnet
Эрик Питти/CC BY (https://creativecommons.org/licenses/by/2.0)
До сегодняшнего интернета была ARPANET. Военная и академическая компьютерная сеть в то время, когда единственные люди, которые имели компьютеры, работали на государственные учреждения или учреждения. Рассматриваемые компьютеры были огромными машинами, которые заполняли целые комнаты. Это было до того, как идея персонального компьютера была у кого-то на уме.
Заставить компьютеры общаться друг с другом через эту новую сеть было нелегкой задачей. Главным образом потому, что эти машины имели очень разные конструкции и архитектуры друг от друга.
Нужен был один общий язык. В 1971 году было подготовлено первое предложение по протоколу Telnet. Тем не менее, потребуется больше десятилетия, чтобы сам Telnet был выпущен в качестве работающей технологии. В 1983 году была выпущена самая первая итерация протокола telnet.
Telnet как инструмент удаленного управления
Telnet может использоваться для отправки команд удаленным системам и, следовательно, управления ими через интерфейс терминала. Это редко делается в наши дни, когда протокол SSH (Secure Shell) в основном заменяет назначение и функцию Telnet.
Тем не менее, Telnet по-прежнему важен, поскольку системы, работающие под управлением операционных систем предыдущих эпох, но все еще используемые сегодня, могут быть доступны только через Telnet. Некоторые интернет-устройства, такие как определенные маршрутизаторы, могут также отвечать только на команды Telnet.
Это на самом деле одно из ключевых преимуществ Telnet. Это такой старый и фундаментальный протокол, на который часто можно полагаться, чтобы он работал надежно и последовательно. В конце концов, его целью было стать универсальным языком для компьютеров для отправки и получения команд. Однако его не следует использовать в качестве технологии первой линии, если это вообще возможно. Secure Shell, как правило, лучший выбор практически в любой ситуации,
Что такое Telnet против Secure Shell?
Telnet был разработан в то время, когда идея кибербезопасности на самом деле никого не волновала. Так как компьютеры с доступом к сети имели только доверенные лица, мысль о том, что кто-то взломает компьютер, была довольно надуманной.
Сегодня миллиарды людей имеют компьютер и подключение к интернету. Хакеры постоянно атакуют удаленные системы, а это значит, что они всегда ищут новую уязвимость. Поскольку Telnet отправляет свои команды в виде простого текста, и каждый знает, какой сетевой порт он использует по умолчанию, перехватывать или изменять данные довольно просто.
Secure Shell решает эту проблему с помощью надежного шифрования всех данных, которые она отправляет и получает. Это одна из главных причин, по которой он вытеснил Telnet. Тем не менее, в наши дни есть также способы применения шифрования к Telnet, хотя это не является неотъемлемой частью протокола.
Как получить доступ к службе Telnet
Для подключения к службе Telnet все, что вам нужно, — это эмулятор терминала и адрес компьютера, к которому вы хотите подключиться.
Есть много терминальных эмуляторов. Большинство из них бесплатны. В этом случае мы будем использовать популярный термин Tera. В качестве демонстрации мы подключимся к службе Telnet, которая использует текст ASCII, чтобы пересказать весь первый фильм «Звездные войны».
Обычно в традиционном терминальном приложении вы набираете «telnet», затем пробел и адрес службы. Вам также может понадобиться указать порт в команде, обычно это порт 23 для Telnet. Тем не менее, Tera Term имеет графический интерфейс, поэтому все, что нам нужно сделать, это заполнить экран следующим образом.
Как вы можете сказать, адрес для этой услуги — towel.blinkenlights.nl. Когда все настроено, как указано выше, просто нажмите ОК, и это произойдет.
Потрясающие! Правильно? Давайте не будем останавливать веселье там. Вот еще несколько сервисов Telnet, с которыми вы можете поиграть, пока у вас нет этого терминального приложения.
Крутые сервисы Telnet
Теперь, когда мы рассмотрели основные факты о Telnet, нет лучшего способа завершить этот ускоренный курс, чем указать вам некоторые интересные места, которые вы можете посетить прямо сейчас.
Telnet.org содержит огромный список мест для посещения Telnet. Вы должны отправиться туда, чтобы получить более неясные места назначения, но вот основные моменты, из которых большинство людей получат удовольствие:
Отсюда вы по своему усмотрению. Но если у вас есть терпение, мир Telnet может быть довольно полезным, чтобы исследовать и экспериментировать. Вы будете мечтать в ASCII в кратчайшие сроки!
Телнет и ботнет
Теоретический минимум
Телнет появился в конце 1960-х, а первый стандарт с tcp/ip и виртуальным терминалом относится к 1983 г. Естественно, что в момент создания никого не заботил тот факт, что данные передаются в простом текстовом формате. Сетевой протокол tcp/ip в то время еще только созревал в ARPANET.
Telnet was designed to work between any host (i.e., any operating system) and any terminal. Its specification in RFC 854 [Postel and Reynolds 1983a] defines the lowest common denominator terminal, called the network virtual terminal (NVT). The NVT is an imaginary device from which both ends of the connection, the client and server, map their real terminal to and from. That is, the client operating system must map whatever type of terminal the user is on to the NVT. The server must then map the NVT into whatever terminal type the server supports.
Как и многие популярные протоколы сети интернет, он тоже прост до архаичности и непотопляем в силу своей простоты. И точно так же часто используется не по назначению.
Вот весь нехитрый список команд:
Телнет поддерживает полу-дуплексный, по-символьный и по-строчный режимы ввода, по умолчанию программа использует последний. Из ман страницы.
Once a connection has been opened, telnet will attempt to enable the TELNET LINEMODE option. If this fails, telnet will revert to one of two input modes: either ‘‘character at a time’’ or ‘‘old line by line’’ depending on what the remote system supports.
Используется внутриполосная сигнализация — команды и данные передаются в одном потоке.
Телнет honeypot
В прошлом году специалисты крупного чешского DNS провайдера NIC.CZ, выкатили приманку — honeypot и стали наблюдать за трафиком.
Число уникальных IP.
География стран, кликабельно. Обратите внимание на совпадение с результатом Shodan, ниже по тексту.
Платформа основных устройств, кликабельно.
На первом месте RomPager/4.07 HTTP server — дырявый встроенный веб сервер, часто используемый в домашних роутерах. Таких, по словам аналитиков из Allegro Software Development, может быть 75 миллионов. На втором месте популярный тулкит gSOAP/2.7, а бронзовая медаль досталась H264DVR 1.0 — RTSP (Real Time Streaming Protocol) серверу видеорегистратора.
Собственно, CCTV камеры обозначены неблагозвучным Dahua Rtsp Server и также имеют проблемы с безопасностью. С мая 2016 г. эти устройства резко повысили свою активность, временами было зарегистрировано 8 тыс. уникальных IP адресов за сутки.
Несмотря на локальный характер эксперимента, выводы о надвигающихся крупномасштабных IoT угрозах будто напрашивались. Обработав данные с более чем 6 миллионов уникальных IP адресов, чешские аналитики четко выявили тенденцию: встроенные системы наиболее уязвимы, особенно CCTV видеокамеры, которые зачастую вырождаются в монокультуру с одинаковым оборудованием, начинкой, списком уязвимостей. Первый звоночек прозвучал тихо и его не услышали.
Огласите весь список
Эксперты компании Rapid7, используя инфраструктуру своего Project Sonar, провели глобальное сканировaние портов по всему миру, проверив основные tcp порты IPv4 диапазона. Исследование оказалось довольно подробным и интересным.
Вот как распределилась первая десятка tcp/ip протоколов, по величине.
Вся тридцатка протоколов в таблице..
Седьмое место в общем зачете, кто бы мог ожидать? А если объединить все http* в одну категорию, то телнет и вовсе будет на пятом месте! Как видите отставание от ssh совсем небольшое. Это был второй звоночек, но и его никто не услышал.
That said, the fact that we cannot seem to stomp out telnet in production completely is both frustrating and worrying. According to our scans, there are over 14 million devices that appear to be offering telnet services on the internet today.
100500 уязвимых CCTV видеокамер
Специалисты из Flashpoint по следам ботнета Mirai прошерстили интернет на предмет обнаружение интересных свойств CCTV видеокамер XiongMai Technologies и Dahua. Как любит говорить Михаил Задорнов «держитесь за стул, иначе вы упадете».
По данным на 6.10.2016 более 515 тыс. устройств с веб сервером uc-httpd 1.0.0.0 подвержены одновременно CVE-2016-1000245 и CVE-2016-1000246.
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.
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-отделы китайских компаний и сотрудники министерства коммерции не даром едят свой хлеб.
Мне это отделение известно! Там кому попало выдают паспорта! [1]
Во-вторых, конечно виноваты регулирующие органы — те, кто их сертифицирует и дает положительное заключение. Из отчета 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. [2]
В-третьих, подрядчики и интеграторы, которые засадили весь мир этими CCTV камерами.
Если не принять законодательные меры, регулирующие ИТ безопасность интернет-утюгов и видеокамер, то блэкауты станут все чаще и круче, как кайдзю.
P. S. Пока набирал текст, возникло сильное желание — проверить домашний роутер nmap-ом и прочими инструментами. Проверил и успокоился, но видимо ненадолго.