Telnet – это сетевая утилита, которая позволяет соединиться с удаленным портом любого компьютера и установить интерактивный канал связи, например, для передачи команд или получения информации. Можно сказать, что это универсальный браузер в терминале, который умеет работать со множеством сетевых протоколов.
Эта утилита очень часто использовалась раньше, для удаленного управления компьютером с Linux, но потом ей на замену пришел защищенный протокол SSH. Но telnet все еще используется, например, для тестирования сети, проверки портов, а также для взаимодействия с различными IoT устройствами и роутерами. В этой статье мы рассмотрим что такое telnet, а также как пользоваться telnet для решения своих задач.
Как я уже сказал, эта утилита предназначена для создания интерактивного соединения между удаленными компьютерами. Она работает по протоколу TELNET, но этот протокол поддерживается многими сервисами, поэтому ее можно использовать для управления ими. Протокол работает на основе TCP, и позволяет передавать обычные строковые команды на другое устройство. Он может использоваться не только для ручного управления но и для взаимодействия между процессами.
Для работы с этим протоколом мы будем использовать утилиту telnet, ею очень просто пользоваться. Давайте рассмотрим синтаксис telnet:
Хост – это домен удаленного компьютера, к которому следует подключиться, а порт – порт на этом компьютере. А теперь давайте рассмотрим основные опции:
Это все, что касается команды telnet для установки соединения. Но соединение с удаленным хостом, это только полдела. После установки подключения telnet может работать в двух режимах:
Использование telnet заключается в передаче специальных команд. У каждого сервиса свои команды, но у протокола есть свои команды telnet, которые можно применять в консоли telnet.
Мы не будем рассматривать все команды, поскольку они вам вряд ли понадобятся, а если и понадобятся, то вы легко сможете их найти в официальной документации.
Служба Telnet – предназначена для эмуляции удаленного терминала.
С помощью Telnet можно обратиться к любому порту и посмотреть, что он отвечает (с некоторыми (например, с ftp) даже пообщаться).
Служба Telnet состоит из:
Взаимодействие клиент и сервера по протоколу
Первый стандарт – RFC0158 (Telnet Protocol: A Proposed Document T. C. O’Sullivan May-19-1971).
Последняя версия – RFC0855 (Telnet Option Specifications J. Postel, J. K. Reynolds May-01-1983).
NVT (network virtual terminal) – это воображаемое устройство, находящееся на обоих концах соединения, у клиента и сервера, с помощью которого устанавливается соответствие между их реальными терминалами.
Порт по умолчанию 23.
Режимы функционирования Telnet клиентов и серверов
Существуют четыре режима, в которых функционирует большинство Telnet клиентов и серверов:
Пример – режим символ за один раз
Подключимся к серверу Linux.
Листинг протокола 1
Теперь проделаем тоже самое, но с другим сервером (ДИОНИС). Можете найти различия.
Листинг протокола 2
Теперь проделаем тоже самое, но с другим сервером (cisco). Можете найти различия.
Листинг протокола 3
Программы клиенты Telnet
Командная строка клиента Telnet принимает следующие команды (для Windows).
open Синтаксис: open имя_узла номер_порта. Используется для установки соединения с узлом по протоколу Telnet.
close Команда close используется для закрытия существующего соединения по протоколу Telnet.
quit Команда quit используется для выхода из Telnet.
set Команда set используется для задания типа терминала для подключения, включения режима локального отображения команд, задания проверки подлинности NTLM, задания управляющего символа и настройки ведения журнала.
unset Команда unset используется для отключения режима локального отображения команд или для включения режима проверки подлинности с запросом имени пользователя и пароля.
status Команда status позволяет определить, подключен ли клиент Telnet.
enter Команда enter из командной строки используется для перехода в подключенный сеанс (если таковой существует).
? или help Вывод справочных сведений.
4.5 Служба SSH
SSH (Secure Shell) – обеспечивает безопасное соединение, путем шифрования передаваемой информации.
SSH поддерживает возможности работы с telnet; безопасную работу с протоколом X11 (графический терминал); c файлами по протоколу sftp.
Порт по умолчанию 22.
Включает в себя протоколы трех уровней:
Номера сообщений ssh и их назначение
Программы клиенты SSH
Встроенные клиенты есть не у всех операционных систем, у UNIX – есть, у Windows – нет. Под Windows можно поставить SSH клиента – Putty, (официальный сервер http://www.chiark.greenend.org.uk/~sgtatham/putty/ ) .
Принцип работы такой же, как с telnet.
Не все пользователи компьютеров знают о наличии скрытых служб, которые позволяют выполнять различные операции без использования специального программного обеспечения. В операционных системах Windows и Linux присутствует служба Telnet. В этом материале будет подробно рассмотрено назначение службы, команды, возможности и как с ней правильно работать.
Telnet – представляет собой средство связи, которое устанавливается между терминальными устройствами. Пример такой связи достаточно простой: персональный компьютер и сервер, который поддерживает подобный тип соединения. Телнет не является каким-либо программным обеспечением, это протокол связи. Но необходимо отметить, что есть некоторые утилиты, которые работают посредством протокола «terminalnetwork».
В недавнем прошлом Телнет был одним из основных способов подключения к сети. Сейчас утилита практически не используется. На сегодняшний день в операционные системы установлены более совершенные протоколы, исключая какие-либо дополнительные действия от пользователя.
Этот протокол связи используется в некоторых операциях:
Установка и запуск
Скачивать утилиту не нужно, Telnet встроен в Windows 7/8/10 по умолчанию.
Инструкция по установке и запуску:
Для того, чтобы запустить клиент нужно открыть командную строку:
Предлагаем ознакомиться с видео по установке Телнет в Windows:
https://youtube.com/watch?v=TbOwZg70IQU%3Ffeature%3Doembed
Проверка порта
Проверка сетевого порта на наличие доступа к нему персонального компьютера в Telnet:
Команды Telnet
Команды утилиты являются способом взаимодействия с ней. Для отображения списка всех команд, необходимо ввести «help». Далее подробно разберем основные команды:
Telnet в Linux
Как и в Виндовс, Телнет встроен в операционную систему Linux. Ранее он использовался, как стандартный протокол Telnet, теперь на его место пришел более улучшенный SSH. Как и с предыдущей ОС, утилита в Linux используется для проверки портов, маршрутизаторов и т.д.
Рассмотрим основные режимы работы:
Базовые команды в Linux:
Далее рассмотрим несколько способов применение утилиты в Linux:
Недостатки Telnet
Данная ошибка появляется в том случае, если данный клиент не установлен на персональном компьютере. Необходимо выполнить следующие действия:
Reader Interactions
4.1 Служба Telnet.
4.2 Протокол Telnet
4.2.1 Режимы функционирования Telnet клиентов и серверов
4.2.2.1 Пример – режим символ за один раз
KAZAN SCIENTIFIC CENTRE ACADEMI OF SCIENCE OF RUSSIA WELCOME TO DIONIS !
System DIONIS 5.00. ( C) “Factor” Ltd.
28: name – logon: 12:25am Wed 09/17/03 Last logoff: 11:51am Wed 09/17/03
You have new messages: 1
4.2.3 Некоторые команды
4.4 Программы клиенты Telnet
4.6 Протокол SSH
4.7 Программы клиенты SSH
Протокол прикладного уровня TELNET (от англ. T ErminaL NETwork) — сетевой протокол для реализации текстового интерфейса по сети. Название telnet получили также клиентские программы реализации данного протокола, практически для всех существующих операционных систем. Протокол Telnet – один из старейших сетевых протоколов, разрабатывавшихся как средство связи между удаленными терминалами в тестовом режиме. Поэтому в нем не предусмотрено шифрование данных и использование современных средств проверки подлинности. Протокол уязвим для множества сетевых атак, и не может использоваться в качестве средства управления сетевыми операционными системами. В настоящее время, для удалённого доступа к системе применяется сетевой протокол SSH (Secure SHell), при создании которого упор делался именно на вопросы безопасности. Относительная безопасность сессий Telnet осуществляется только в полностью контролируемой сетевой среде или с применением защиты на сетевом уровне (различные реализации VPN — виртуальных частных сетей). Тем не менее, TELNET по-прежнему применяется для управления специализированными сетевыми устройствами (Коммутаторами, роутерами и т.п.), а также для сетевой диагностики, выполнения отладки и изучения других текст-ориентированных (telnet-like) протоколов на основе транспорта TCP. Современный стандарт протокола Telnet описан в RFC 854.
В современных ОС семейства Windows, утилита telnet.exe по умолчанию, не устанавливается. Для ее установки нужно перейти в Панель управления — Программы и Компоненты – Включение или отключение компонентов Windows и установить галочку для Клиент Telnet. Или в командной строке, запущенной от имени администратора, выполнить команду:
C: pkgmgr /iu:”TelnetClient”
Описание команды TELNET.
1.1. Формат командной строки:
1.2. Параметры командной строки.
1.3. При запуске без параметров, утилита переходит в режим ожидания ввода команд.
При вводе символа ? или help отображается справочная информация. Команды могут быть сокращены.
Поддерживаемыми командами являются:
Некоторые из команд позволяют получить подсказку по использовании, при вводе с символом вопроса:
1.4. Получить подсказку по использованию команды установки режимов:
Пример отображаемой информации:
bsasdel – символ BackSpace будет отправляться как символ Delete
crlf – режим возврата каретки; приводит к отправке символов CR & LF
delasbs – символ Delete будет отправляться как символ BackSpace
escape x – где x – символ переключения в режим telnet-терминала и обратно
logfile x – где x – файл журнала. В русском переводе неверно трактуется как “Файл входа текущего клиента в систему”
logging – запись текущей сессии в журнал. В русском переводе неверно трактуется как “выполнение входа в систему”
mode x – где x=console – консольный режим, используемый для работы с оконными приложениями (редактор vi) и x=stream – потоковый режим, используемый для работы в командной строке.
ntlm – включение проверки подлинности NTLM.
term x – тип эмулируемого терминала. Где x – ansi, vt100, vt52, или vtnt.
Для получения подсказки по отмене установленных параметров используется команда:
Примеры команд в интерактивном режиме.
2.2. Подключиться к Telnet-серверу с именем zte-f660:
Используется сокращение команды open.
2.3. Использовать в качестве файла журнала C: elnet.log:
2.4. Выполнять запись текущей сессии в файл журнала:
2.5. Отобразить параметры текущей сессии:
Примеры использования команды Telnet.
На практике, утилита telnet.exe используется как средство диагностики и отладки для подключения не только к серверу Telnet на TCP порт 23, но и на любой другой TCP-порт, тем самым, позволяя взаимодействовать с любым приложением, управляемым командной строкой. Так, например, с использованием утилиты telnet можно подключиться к серверам, поддерживающим текстовый (telnet-like) ввод команд и данных — SMTP, POP3, IMAP и т.п. Кроме этого, утилиту можно использовать в качестве средства грубой проверки возможности подключения на любой TCP-порт (проверки слушается ли определенный порт TCP).
3.1. Подключиться к узлу 192.168.1.1 на порт 8080:
C: telnet 192.168.1.1 8080
Утилиту telnet.exe можно использовать , например, для обмена с почтовым сервером по протоколу POP3 (Post Office Protocol ver. 3). Данный протокол используется почтовыми клиентскими программами (Outlook, Outlook Express, The Bat и т.д.) для получения электронной почты, хранящейся в почтовом ящике пользователя. Это простейший протокол, в основе которого лежит обмен текстовыми сообщениями. С целью изучения взаимодействия почтового клиента с почтовым сервером, можно реализовать сеанс подключения с помощью TELNET.
Стандартно сервер POP3 ожидает входящие соединения по протоколу TCP на порт 110 («слушает» порт tcp/110).
3.2. Команда telnet для подключения к серверу, например pop.mail.ru:
C: telnet pop.mail.ru 110
Если сервер работоспособен, в окне telnet появится его приглашение:
+OK mPOP POP3 v1.1
После чего, сервер предложит ввести пароль:
3.4. Нужно ввести пароль:
Сервер сообщит результат проверки пароля:
3.5. Можно запросить список писем директивой list:
В ответ на это, сервер выдаст список и размеры писем в почтовом ящике:
+OK 10 messages (152527 octets)
1 48628 1-это порядковый номер, 48628 – размер
2 1829
3 2070
:
3.6. При необходимости можно посмотреть заголовки писем.
Для этого используется команда:
top порядковый номер, пробел, число строк из тела сообщения
top 2 0
В ответ на это, вы увидите заголовок письма, содержащий служебную информацию об отправителе, дате отправки, обратном адресе и некоторые другие данные:
3,.7. Для приема писем используется директива:
retr порядковый номер
retr 2 – принять письмо с порядковым номером 2
3.8. Для удаления письма, используется директива:
dele порядковый номер
Например, для удаления 2-го письма из списка, полученного директивой list:
Если удаление прошло успешно, сервер выдаст сообщение:
+OK message 2 deleted
3.9. Иногда, команду TELNET можно использовать и для идентификации службы, слушающей указанный порт, поскольку многие из них при подключении отображают либо свой баннер, либо специфическую служебную информацию.
Например, приветствие FTP-сервера:
А так выглядит экран при подключении к серверу RealVNC:
Как пользоваться telnet?
Дальше мы рассмотрим как использовать telnet для решения ваших задач. Обычно, утилита уже установлена в большинстве систем, но если это не так, то вы можете установить telnet из официальных репозиториев, например, в Ubuntu:
sudo apt install telnet
Теперь перейдем к применению утилиты. Изначально она использовалась для удаленного управления компьютером, но поскольку потом был разработан более безопасный протокол SSH, использовать ее перестали.
Доступность сервера
Утилита все еще может быть полезной при поверке доступности узла, для этого просто передайте ей ip адрес или имя хоста:
Для этого не обязательно применять telnet, есть ping.
C помощью telnet мы можем проверить доступность порта на узле, а это уже может быть очень полезным. Чтобы проверить порт telnet выполните:
telnet localhost 123
$ telnet localhost 22
В первом случае мы видим, что соединение никто не принимает, во втором же выводится сообщение об успешном подключении и приветствие SSH сервера.
Отладка
sudo telnet -d localhost 22
Консоль telnet
Чтобы посмотреть все доступные команды, вы можете набрать ? Например, вы можете посмотреть статус подключения:
Здесь есть и другие интересные возможности. Такие вещи можно проделывать при любом подключении с помощью утилиты telnet.
Посмотреть сайт telnet
Один из распространенных способов использования telnet – это тестирование сайта из консоли. Да, красивую веб-страницу вы не получите, но можете вручную собрать запросы и видеть все переданные сервером данные.
telnet opennet.ru 80
Затем наберите команду веб-серверу:
Веб сервер вернет полностью страницу, а также заголовки, которые необходимы для ее отображения браузером.
Удаленное управление telnet
Настоятельно не рекомендуется использовать небезопасный telnet для удаленного управления, потому что все команды и пароли могут быть прослушаны сторонним пользователем. Но иногда, например, для роутеров telnet все же используется для удаленного управления. Все работает точно так же, как и для других подключений, только нужно использовать порт 23, а на удаленном компьютере должен быть установлен telnet-server:
telnet localhost 23
Выводы
В этой статье мы рассмотрели примеры использования telnet, а также что представляет из себя эта утилита, хотя она уже не используется по своему основному назначению, но до сих пор может быть полезной многим пользователям и системным администраторам. Если у вас остались вопросы, спрашивайте в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.