Что такое Telnet. TELNET— основы использования

Использование команды 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 возникает в настоящее время всё реже. Однако знать некоторые из них стоит хотя бы для получения с их помощью доступа к сетевому оборудованию. Например, к коммутаторам , маршрутизаторам или даже к веб-камерам .

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

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

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

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

А сейчас с помощью этой же утилиты тестируют сеть, проверяют порты, управляют роутерами и другими IoT-устройствами.

Содержание:

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

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

Например, получать доступ к POP3, HTTP, IRC или SMTP.

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

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

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

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

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

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

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

Однако при его использовании вся информация отправляется на моментально.

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

Следует знать: При использовании протокола telnet отсутствует возможность шифрования передачи информации. Все данные отправляются напрямую и могут быть перехвачены посторонним пользователем. И передавать их таким способом не рекомендуется – желательно применять для этого защищённый сетевой протокол Secure Shell.

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

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

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

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

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

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

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

Хотя, например, для клиента telnet в Windows перечень может оказаться сокращённым.

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

Интересным выглядит тот факт, что иногда на роутер можно зайти с использованием «Телнет», в то время как доступ по HTTP, то есть через графический интерфейс, остается недоступен.

Условие возможности подключения к маршрутизатору

Если требуется зайти в интерфейс управления роутером, сначала необходимо выяснить, чему равен IP-адрес этого устройства. Без IP-адреса не получится открыть даже сессию «Телнет», не говоря уже о доступе через браузер. Большинство сетевых комбайнов по умолчанию наделены следующим адресом: 192.168.1.1. Для фирмы D-Link надо сделать поправку в двух последних цифрах (должно быть «0.1»). Настройте сетевую карту ПК на соответствующие значения, изменив последнюю цифру ее IP.

Настройка подключения на компьютере

Как открыть сеанс связи

В любой операционной системе есть командная строка. Запустив ее, достаточно выполнить одну команду: telnet 192.168.1.1. После чего роутер, подключенный к ПК по Ethernet или по Wi-Fi, сразу же отвечает нам, запрашивая логин и пароль.

Начало сеанса связи

Мы в ответе использовали имя «admin» и пароль «1234», то есть значения, установленные по умолчанию в устройствах ZyXEL. Как видим, эти значения были приняты, и появилась подсказка «config».

В некоторых моделях фирмы ZyXEL используется не только текстовый интерфейс, но и командный список (меню):

Вид стартового списка

Чтобы вернуть режим текстовых команд, выполните переход 28 -> 4 (задействуйте пункт 28 и затем пункт 4). В результате, Вы получите надпись «config» и курсор для ввода команд. Далее мы будет рассматривать только указанный режим.

Настраиваем устройство через «Телнет»

Интерфейс текстовых команд, то есть командная строка маршрутизаторов и других устройств ZyXEL, называется словом «CLI» (Command Line Interpreter). Большинство команд для всех моделей – одинаковы, например, это «system reboot» (перезагрузка), «system config-save» (сохранение настроек), и другие. Некоторые команды для той или иной модели могут отличаться, а скачать подробное руководство можно на сайте поддержки, там же, где предоставляют для скачивания фирменную прошивку.

Скачиваем справочник с командами

В устройствах других фирм, не ZyXEL, предусмотрена команда «help», которая выдает Вам список доступных команд.

Удаленный доступ к web-интерфейсу

Порту WAN сетевого комбайна присваивается IP-адрес. Значение данного адреса обычно не меняется, даже если используются динамические адреса. Зная свой IP-адрес, пользователь может открыть интерфейс управления устройством с любого компьютера, имеющего подключение к Интернету. По умолчанию подобный метод доступа в роутерах ZyXEL запрещен. А избавиться от данного ограничения поможет командная строка.

Наберите следующую команду: ip stаtic tcp ISP 80 192.168.1.1 80// порт «80» используется web-интерфейсом.

Команда «ip stаtic» вообще-то создает привязку локальных адресов к глобальным IP-адресам. Заметим, что если используется такой тип подключения, где предусмотрена авторизация (PPTP, L2TP либо PPPoE), то вместо слова «ISP» надо подставить другое название. Узнать его просто: Interface ?// отобразятся все сетевые интерфейсы.

Для протокола PPPoE интерфейс соединения с Интернетом обычно назван так – «PPPoE0» (важно соблюдать регистр). Не забудьте сохранить настройки (system config-save). В результате, можно будет открыть web-интерфейс из Интернета.

Интерфейс открылся из «внешки»

Некоторые провайдеры 80-й порт блокируют, так что с первого раза наверняка ничего не получится. Но можно сделать хитрее, перенаправив на внутренний порт 80 внешний порт с номером 8080: ip stаtic tcp ISP 8080 192.168.1.1 80// так мы обходим ограничения провайдера.

В общем, аналогичным образом пробрасывается порт и для «Телнета» (его номер равен «23»).

Море команд для Wi-Fi

Проще всего начинать освоение командной строки с использования тех команд, которые отвечают за параметры точки доступа (сети Wi-Fi). Каждая из этих команд начинается словом «interface», а дальше идет уточняющая последовательность. Самый простой вариант: interface ssid SYSDAY// имя беспроводной сети получит значение «SYSDAY».

Отметим, что указывая вместо имени параметр «auto», можно вернуть «точке доступа» то значение SSID, которое было задано на заводе.

Есть еще несколько интересных команд, управляющих радио модулем. Чтобы не набирать каждый раз слово «interface», используйте его, как отдельную команду (подсказка трансформируется в «config-if»). Список команд, применяемых в режиме «config-if», мы приводим далее.

Примеры команд для Wi-Fi

  • power число// вместо слова «число» задайте мощность в процентах;
  • channel номер// вместо «номер» задайте номер радиоканала (1-13);
  • country-code страна// параметр «страна» содержит 2 буквы, например, RU;
  • hide-ssid// скрыть имя сети;
  • no hide-ssid// открыть имя сети.

И это – далеко не полный список параметров, которые поддаются изменению прямо из командной строки.

Надо отметить, что при помощи «Телнета» можно поменять, либо включить алгоритм шифрования Wi-Fi (WPA или WPA2).

А значение ключа задается командой «interface authentication wpa-psk». Таким образом, появляется возможность дистанционно, из любой точки мира, зайти на роутер через Telnet, и поменять пароль на беспроводную сеть. Очень полезно, не так ли?

Заходим «Телнетом» на роутер-модем

Протокол прикладного уровня TELNET (от англ. TE rminaL NET work) - сетевой протокол для реализации текстового интерфейса по сети. Название telnet получили также клиентские программы реализации данного протокола, практически для всех существующих операционных систем. Протокол Telnet – один из старейших сетевых протоколов, разрабатывавшихся как средство связи между удаленными терминалами в тестовом режиме. Поэтому в нем не предусмотрено шифрование данных и использование современных средств проверки подлинности. Протокол уязвим для множества сетевых атак, и не может использоваться в качестве средства управления сетевыми операционными системами. В настоящее время, для удалённого доступа к системе применяется сетевой протокол SSH (Secure SHell), при создании которого упор делался именно на вопросы безопасности. Относительная безопасность сессий Telnet осуществляется только в полностью контролируемой сетевой среде или с применением защиты на сетевом уровне (различные реализации VPN - виртуальных частных сетей). Тем не менее, TELNET по-прежнему применяется для управления специализированными сетевыми устройствами (Коммутаторами, роутерами и т.п.), а также для сетевой диагностики, выполнения отладки и изучения других текст-ориентированных (telnet-like) протоколов на основе транспорта TCP. Современный стандарт протокола Telnet описан в RFC 854.

В современных ОС семейства Windows, утилита telnet.exe по умолчанию, не устанавливается. Для ее установки нужно перейти в Панель управления - Программы и Компоненты – Включение или отключение компонентов Windows и установить галочку для Клиент Telnet . Или в командной строке, запущенной от имени администратора, выполнить команду:

pkgmgr /iu:"TelnetClient"

Формат командной строки:

telnet [-a][-e Символ][-f Файл][-l Имя][-t Тип][Узел [Порт]]

Параметры командной строки:

-l Имя пользователя для входа в удаленную систему при условии, что поддерживается параметр TELNET ENVIRON.

-a Попытка автоматического входа в систему. Как и ключ -l, но использует текущее имя пользователя, под которым выполнен вход в систему.

-e Служебный символ переключения режима ввода в окне telnet-клиента.

-f Имя файла журнала на стороне клиента. В русскоязычной справке этот параметр неверно трактуется как Файл_входа - “Имя файла со стороны клиента для выполнения входа в систему”.

-t Тип telnet-терминала. Поддерживаются 4 типа терминалов: vt100, vt52, ansi и vtnt.

Узел Имя узла или IP-адрес удаленного компьютера, к которому выполняется подключение. Порт Номер порта или имя службы. Если номер не задан, то используется стандартный порт Telnet 23\TCP

При запуске без параметров, утилита переходит в режим ожидания ввода команд:

Добро пожаловать в программу-клиент Microsoft Telnet

Microsoft Telnet>

При вводе символа ? или help отображается справочная инвормация:

Команды могут быть сокращены. Поддерживаемыми командами являются:

c - close - закрыть текущее подключение

d - display - отобразить параметры операции

o - open имя_узла [Порт] - подключиться к сайту (по умолчанию, Порт = 23)

q - quit - выйти из telnet

set - set - установить параметры ("set ?" для вывода их списка)

sen - send - отправить строки на сервер

st - status - вывести сведения о текущем состоянии

u - unset - сбросить параметры ("unset ?" для вывода их списка)

? /h - help - вывести справку

Некоторые из команд позволяют получить подсказку по использовании, при вводе с символом вопроса:

Telnet> set ? - получить подсказку по использованию команды установки режимов. Пример отображаемой информации:

bsasdel - символ BackSpace Delete

crlf - режим возврата каретки; приводит к отправке символов CR & LF

delasbs - символ Delete будет отправляться как символ BackSpace

escape x - где x - символ переключения в режим telnet-терминала и обратно

localecho - включение локального эха.

logfile x - где x - файл журнала. В русском переводе неверно трактуется как "Файл входа текущего клиента в систему"

logging - запись текущей сессии в журнал. В русском переводе неверно трактуется как "выполнение входа в систему"

mode x - где x=console - консольный режим, используемый для работы с оконными приложениями (редактор vi) и x=stream - потоковый режим, используемый для работы в командной строке.

ntlm - включение проверки подлинности NTLM.

term x - тип эмулируемого терминала. Где x - ansi, vt100, vt52, или vtnt.

Для получения подсказки по отмене установленных параметров используется команда

Microsoft Telnet> unset ?

bsasdel - символ BackSpace будет отправляться как символ Delete

crlf - режим перевода строки; приводит к отправке символа CR

delasbs - символ Delete будет отправляться как символ Backspace

escape - символ переключения в режим telnet-терминала и обратно не задан

localecho - отключение локального эха

logging - отключение записи журнала. В русскоязычной весии неверно трактуется как "отключение выполнения входа в систему"

ntlm - отключение проверки подлинности NTLM.

Примеры команд в интерактивном режиме:

open 192.168.0.1 - подключиться к серверу Telnet с IP-адресом 192.168.0.1

o zte-f660 - подключиться к Telnet-серверу с именем zte-f660 . Используется сокращение команды o pen

set logfile C:\telnet.log - использовать в качестве файла журнала C:\telnet.log

set logging - выполнять запись текущей сессии в файл журнала.

display - отобразить параметры текущей сессии. Пример отображаемой информации:

Символ переключения режима: "CTRL+]"

Проверка подлинности NTLM - включена

Вывод локального эха - отключен

Режим новой строки - Символ ВВОД будет отправляться как CR & LF

Текущий режим: Потоковый

РЕЖИМ ТЕРМИНАЛА

Предпочитаемый тип терминала ANSI

    На практике, утилита telnet.exe используется как средство диагностики и отладки для подключения не только к серверу Telnet на TCP порт 23, но и на любой другой TCP-порт, тем самым, позволяя взаимодействовать с любым приложением, управляемым командной строкой. Так, например, с использованием утилиты telnet можно подключиться к серверам, поддерживающим текстовый (telnet-like) ввод команд и данных - SMTP, POP3, IMAP и т.п. Кроме этого, утилиту можно использовать в качестве средства грубой проверки возможности подключения на любой TCP-порт (проверки слушается ли определенный порт TCP).

telnet 192.168.1.1 8080 - подключиться к узлу 192.168.1.1 на порт 8080. В тех случаях, когда порт закрыт, утилита сообщит о невозможности подключения. Причем, для проверки доступности определенного порта даже необязательно, чтобы он слушался службой с поддержкой текстового ввода, как например, сервер VNC. Для отключения от удаленного сервера необходимо ввести символ переключения режима (по умолчанию - CTRL+] ).

Утилиту telnet.exe можно использовать, например, для обмена с почтовым сервером по протоколу POP3 (Post Office Protocol ver. 3). Данный протокол используется почтовыми клиентскими программами (Outlook, Outlook Express, The Bat и т.д.) для получения электронной почты, хранящейся в почтовом ящике пользователя. Это простейший протокол, в основе которого лежит обмен текстовыми сообщениями. С целью изучения взаимодействия почтового клиента с почтовым сервером, можно реализовать сеанс подключения с помощью TELNET.

Стандартно сервер POP3 ожидает входящие соединения по протоколу TCP на порт 110 ("слушает" порт tcp/110). Команда telnet для подключения к серверу, например pop.mail.ru

telnet pop.mail.ru 110

Если сервер работоспособен, в окне telnet появится его приглашение

+OK mPOP POP3 v1.1

user [email protected]

После чего, сервер предложит ввести пароль:

OK Password required for user [email protected]

Нужно ввести пароль

pass VasinPass

Сервер сообщит результат проверки пароля:

Можно запросить список писем директивой list:

list

В ответ на это, сервер выдаст список и размеры писем в почтовом ящике:

OK 10 messages (152527 octets)
1 48628       1-это порядковый номер, 48628 - размер
2 1829
3 2070
:

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

top 2 0

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

Received: from (HELO mx1.ks.pochta.ru) by node7-1.ks.pochta.ru with QIP.RU LMTP
for [email protected];
Fri, 08 Apr 2011 15:18:33 +0400
Received: from mx3.softkey.ru ()
: :

Для приема писем используется директива retr порядковый номер

retr 2 - принять письмо с порядковым номером 2

Для удаления письма, используется директива dele порядковый номер Например, для удаления 2-го письма из списка, полученного директивой list :

Если удаление прошло успешно, сервер выдаст сообщение:

OK message 2 deleted

Иногда, команду TELNET можно использовать и для идентификации службы, слушающей указанный порт, поскольку многие из них при подключении отображают либо свой баннер, либо специфическую служебную информацию. Например, приветствие FTP-сервера: 220-FileZilla Server version 0.9.43 beta

220-written by Tim Kosse ([email protected])

220 Please visit http://sourceforge.net/projects/filezilla/

А так выглядит экран при подключении к серверу RealVNC:

RFB 003.008

mob_info