Как подключиться с помощью telnet. Основные команды 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

Любой системный администратор пользуется системной утилитой встроенной в Windows – telnet.exe. Эта программа позволяет подключаться к локальным и удалённым серверам по адресу и порту, указанными в параметрах запуска. Полезная штука для проверки возможности соединения с сервером по порту и выполнения команд. Также, не редко эта утилита указывается в помощи различных программ и сервисов. Однако часто оказывается что телнет не установлен по умолчанию.

Как установить telnet.exe через командную строку

Самый простой способ – это с правами Администратора и исполнить такую команду:

dism /online /Enable-Feature /FeatureName:TelnetClient

Нажимаем «Enter» и немного подождём, должно появиться сообщение «Операция успешно завершена». На этом установка закончена.

Установка клиента Telnet в компонентах Windows

Второй способ, для тех, кто не хочет пользоваться командной строкой или первый способ не сработал. Идём в «Панель управления -> Программы и компоненты -> Включение или отключение компонентов Windows» и ставим галочку на «Клиент Telnet».

Может потребоваться установочный диск Windows. Если список компонентов будет пуст, то нужно исправить одно значение в реестре Windows. Для этого запускаем редактор реестра командой:

regedit

и следуем пути:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows

В параметре «CSDVersion» необходимо заменить значение на 100 или 0 . Перезагрузиться.

Разработчиками Windows предусмотрительно был встроен в операционную систему специальный инструмент telnet, позволяющий управлять из командной строки удаленными серверами. Вплоть до Vista он поставлялся в активированном состоянии и не требовал каких-либо дополнительных настроек, однако с выпуском 7-ки от подобного all inclusive компания Microsoft решила отказаться. В итоге Telnet в Windows 7 каждому пользователю приходится настраивать самостоятельно, что, впрочем, не так уж и сложно, как кажется на первый взгляд.

Шаг № 1: Подключение

Стоит заметить, что в Windows 7 программу-клиента telnet можно включить 2 разными способами: воспользовавшись командной строкой или через утилиту «Компоненты Windows». Работают с ними достаточно просто, так что каких-либо проблем возникнуть не должно.

В частности, для включения telnet-клиента через «Компоненты Windows» входим в меню «Пуск», открываем «Панель управления», кликаем вкладку «Программы и компоненты» и клацаем в появившемся окошке слева параметр «Включение или отключение…»:

Далее в отобразившемся списке установленных в ОС Windows 7 компонентов находим папки «Клиент Telnet» и «Telnet-сервер» и ставим напротив них галочки. Затем жмем OK и дожидаемся завершения установки инструмента:

Не менее просто включить утилиту с помощью командной строки. В этом случае все, что нам потребуется это: открыть любым известным способом «Командную строку» (например, введя в поисковое поле меню «Поиск» запрос cmd и кликнув появившийся ярлычок программки), ввести команду dism /online /Enable-Feature /FeatureName:TelnetClient и нажать Enter:

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

Шаг № 2: Запуск утилиты

После завершения установки клиента остается только запустить его в ОС Windows 7. Для этого можно воспользоваться одним из таких способов:

Так или иначе, в результате должна запуститься программа-клиент Microsoft Telnet. Для работы в ней можно использовать, в частности, такие команды:

  • close – завершить соединение с сайтом;
  • display – показать параметры выполняемой операции;
  • quit – выйти из программы;
  • set – назначить параметры;
  • send – отослать строки на сервер;
  • status – отобразить данные о текущем состоянии подключения;
  • unset – аннулировать введенные параметры;
  • open адрес сервера [порт] – установить соединение с выбранным сайтом.
  • help – показать справку.

Использование команды 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 встроен в Microsoft Windows Server 2008 и Windows 7, однако, он по умолчанию отключен. Т.е. при первом запуске из командной строки команды telnet , система ответит, что такая команда не найдена. Удобство протокола Telnet заключается в том, что его можно использовать для доступа к различным ОС (Linux, Unix или Windows) и устройствам (модемы, коммутаторы, маршрутизаторы). Однако в последнее время специалисты Microsoft перестали жаловать telnet, теперь если вам нужен доступ к командной строке другого компьютера, работающего под ОС Windows, они рекомендуют использовать функции Windows Remote Desktop, ведь это намного проще. В ОС Windows Server 2008 также возможно использовать функцию Remote Shell (WinRS), который считается более безопасным, чем telnet. Я, кстати, во многих случаях предпочитаю вместо telnet использовать для удаленного управления системами .

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

В Windows Server 2008, вы можете установить клиент Telnet с помощью мастера Add Features Wizard в Server Manager. В Windows 7, вы можете установить клиент Telnet, воспользовавшись опцией Turn Windows Features On or Off на панели управления.

Чтобы установить клиент Telnet в Windows Server 2008, выполните следующие действия:


5. На странице Подтверждение нажмите на Install .

6. После завершения установки, нажмите на « Close «.

Кстати, установить клиент telnet можно и из командной строки, для этого нужно набрать следующую команду:

Servermanagercmd –I Telnet-Client

Чтобы установить клиент Telnet в Windows 7, выполните следующие действия.