В этой статье я расскажу, как использовать telnet в операционной системе (ОС) Windows 7. Но в начале коротко остановлюсь на том, что же такое telnet и для чего он используется. Telnet – это один из протоколов сетевого взаимодействия. Появился он ещё в прошлом столетии и зачастую использовался для удалённого подключения к различным устройствам в сети.
И так, перейдем непосредственно к нашему вопросу. В стандартной установке в операционной сиситеме Windows 7 данный протокол отключен. Если возникает необходимость в использовании этого протокола на рабочих станциях с ОС Windows 7 нужно выполнить некоторые манипуляции по его включению. Необходимость его использования может возникнуть не только у системных администраторов, которые с его помощью настраивают сетевые устройства и часто используют его в работе, но и у рядовых пользователей, далёких от системного администрирования.
Имеется, как минимум два способа как включить протокол telnet в ОС Windows 7.
Первый наиболее простой способ следующий:
В окошке ставим галочку – «Клиент Telnet».
На этом всё, вы успешно включили протокол Telnet на вашем компьютере.
Возможен ещё один нюанс при включении протокола таким методом, может быть следующая ситуация, что когда при выборе – «Включение или отключение компонентов Windows» перечень компонентов может быть пустой. От нас потребуется внести небольшую корректировку в реестр. Напоминаю, как открыть реестр нажимаем «Пуск» — чуть выше Пуска в строчке поиска набираем regedit,
После этого нужно отправить рабочую станцию в перезагрузку и повторить вышеуказанные действия.
Второй способ использует командную строку, обычные пользователи редко с ней работают и зачастую не знают, что имеется такой функционал. Поэтому, кто не считает себя продвинутым пользователем лучше воспользоваться первым способом включения протокола.
Итак, нажимаем «Пуск» — чуть выше Пуска в строчке поиска набираем cmd и жмем Enter.
Открывается черное окошко, в котором мигает курсор, это то что нам необходимо — командная строка. Далее в этой строке набираем команду «dism/online/Enable-Feature/FeatureName:TelnetClient» и нажимаем Enter.
После непродолжительной паузы появляется информационное окошко, что операция выполнена успешно. Всё установка Telneta завершена.
Надеюсь, что моя статья будет полезна. Помните, что Telnet это далеко не безопасный протокол, поэтому, работая с ним нужно помнить о мерах безопасности.
Как вы уже могли убедиться, если читали мой пост о настройке Telnet в Windows, работать с этой службой достаточно легко. Можно запустить его без аргументов, указав в командной строке лишь адрес хост-системы. При определенных обстоятельствах еще нужно указать конкретный порт. Первое сообщение, которое видит пользователь, после выполнения команды “ telnet “, посылается самой программой, а после установления связи между клиентом и сервером выводятся сообщения, исходящие от управляемой системы. В связи с этим с удаленной операционной системой можно работать через Telnet таким же образом, как это происходит в случаях с другими специализированными программами дистанционного доступа к ОС. Теперь давайте присмотримся к данной службе поближе и разберем наиболее часто используемые команды Telnet .
open узел порт – применяется для установки соединения с заданным узлом;
close – закрывает существующее соединение;
quit – выход из текущего сеанса Telnet;
display – позволяет просмотреть текущие параметры Telnet-клиента;
set – с ее помощью возможно задать Telnet-параметры текущей сессии , а конкретно:
unset – выполняет отключение различных параметров сессии Telnet (обратные операции по отношению к set), а именно:
status – используется с целью проверки наличия подключения к Telnet-клиенту;
enter – применяется для перехода в существующий подключенный сеанс Telnet;
Или help – отображение справочной информации.
Закончив с делами на удаленной машине, вам нужно будет закрыть соединение с ней. При этом работа самого Telnet завершается не всегда. Чтобы выйти в командную строку Telnet, воспользуйтесь горячими клавишами “Ctrl+]” .
Протокол прикладного уровня 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
Команды telnet позволяют связаться с удаленным компьютером, использующим протокол Telnet. Можно выполнить команду telnet без параметров для входа в контекст telnet, обозначенный в командной строке Telnet (telnet ). В командной строке Telnet используйте следующие команды для управления компьютером, на котором выполняется клиент Telnet.
Команды tlntadmn позволяют удаленно управлять компьютером, на котором выполняется сервер Telnet. Эти команды выполняются из командной строки. Команда tlntadmn без параметров отображает настройку локального сервера.
Чтобы использовать команды telnet из командной строки Telnet
Чтобы запустить клиент Telnet и ввести командную строку Telnet
Синтаксис
telnet [\\ удаленный_сервер ]
Параметры \\ удаленный_сервер Отображает имя подключаемого сервера /?
Чтобы остановить клиент Telnet
Синтаксис
Параметры
отсутствуют
Примечания
Чтобы подключить клиент Telnet к удаленному компьютеру
Синтаксис
open [\\ удаленный_сервер ] [порт ]
Параметры \\ удаленный_сервер порт Указывает используемый порт. Если порт не указан, используется порт по умолчанию. Примечания
Чтобы подключиться к удаленному серверу Redmond через порт 44, введите в командную строку: o redmond 44
Чтобы отключить клиент Telnet от удаленного компьютера
Синтаксис
close [\\ удаленный_сервер ]
Параметры \\ удаленный_сервер Указывает имя управляемого сервера. Если сервер не указан, используется локальный сервер. Примечания
Чтобы отключиться от удаленного сервера Redmond, введите команду: c redmond 44
Чтобы настроить параметры клиента Telnet
Синтаксис
set [\\ удаленный_сервер ] [ntlm ] [localecho ] [term {ansi | vt100 | vt52 | vtnt }] [escape символ ] [logfile имя_файла ] [logging ] [bsasdel ] [crlf ] [delasbs ] [mode {console | stream }] [? ]
Параметры \\ удаленный_сервер Указывает имя управляемого сервера. Если сервер не указан, используется локальный сервер. ntlm Включает проверку подлинности NTML, если она доступна на удаленном сервере. localecho Включает режим локального отображения команд. term {ansi | vt100 | vt52 | vtnt } Задает терминал указанного типа. escape символ Задает управляющий символ. Управляющий символ может быть отдельным символом или сочетанием клавиши CTRL и символа. Чтобы задать комбинацию клавиш, удерживайте клавишу CTRL во время ввода символа, который необходимо назначить. logfile имя_файла Задает файл журнала активности Telnet. Файл журнала должен располагаться на локальном компьютере. Запись в журнал начинается автоматически после выбора этого параметра. logging Включает ведение журнала. Если файл журнала не задан, выводится сообщение об ошибке. bsasdel Задает клавишу BACKSPACE, как удалить. crlf Назначает новый линейный режим, который опреляет клавишу ENTER как 0x0D, 0x0A. delasbs Назначает клавише DELETE значение удаления последнего символа. mode {console | stream } Задает режим работы. ? Позволяет просматривать полный синтаксис команды. Примечания
unset [параметр ]
-e символ
Чтобы отправить команды клиента Telnet
Синтаксис
send [\\ удаленный_сервер ] [ao ] [ayt ] [esc ] [ip ] [synch ] [? ]
Параметры \\ удаленный_сервер Имя сервера, к управлению которым требуется перейти. Если сервер не указан, используется локальный сервер. ao Отменяет команду ввода. ayt Посылает команду "Вы на месте?" esc Отправляет текущий управляющий знак. ip Прерывает выполнение команды обработки. synch Выполняет операцию синхронизации Telnet. ? Позволяет просматривать полный синтаксис команды.
Чтобы посмотреть текущие параметры клиента Telnet
Синтаксис display
Параметры
Отсутствуют
Примечания
Чтобы использовать команды tlntadmn из командной строки
Чтобы администрировать компьютер, на котором выполняется сервер Telnet/P>Синтаксис
tlntadmn [\\ удаленный_сервер ] [start ] [stop ] [pause ] [continue ]Параметры \\ удаленный_сервер Указывает имя сервера, к управлению которым требуется перейти. Если сервер не указан, используется локальный сервер. start Запускает сервер Telnet. stop Останавливает сервер Telnet. pause Прерывает работу сервера Telnet. continue Возобновляет работу сервера Telnet. /?
Чтобы администрировать сеансы Telnet
Синтаксис
tlntadmn [\\ удаленный_сервер ] [-s ] [-k {код_сеанса | all }] [-m {код_сеанса |all } " сообщение " ]
Параметры \\ удаленный_сервер -s Отображает активные сеансы Telnet. -k {код_сеанса | all } Завершает сеансы. Введите код сеанса для завершения конкретного сеанса или введите all для завершения всех сеансов. -m {код_сеанса | all } " сообщение " Отправляет сообщение в один или несколько сеансов. Введите код сеанса для отправки сообщения в конкретный сеанс или введите all для отправки сообщения во все сеансы. Введите сообщение, которое нужно послать, в кавычках (т. е. " сообщение " ). /? Отображает справку в командной строке. Примечания
Чтобы установить параметры журнала событий для компьютера, на котором выполняется сервер Telnet
Синтаксис
tlntadmn [\\ удаленный_компьютер ] config [auditlocation= {eventlog | file | both }][audit= [{+ | - }admin ][{+ | - }user ][{+ | - }fail ]]
Параметры \\ удаленный_сервер auditlocation= {eventlog | file | both } Указывает, следует ли отправлять сведения о событиях в окно просмотра событий, в файл или в оба места. audit= [{+ | - }admin ][{+ | - }user ][{+ | - }fail ] Указывает, для каких событий требуется аудит (события регистрации администратора, события регистрации пользователя или неудачные попытки регистрации). Чтобы задать аудит событий конкретного типа, введите знак "плюс" (+) перед данным типом событий. Чтобы остановить аудит событий конкретного типа, введите знак "минус" (-) перед данным типом событий. /?
Для отправки информации о событиях в окно просмотра событий введите:
tlntadmn config auditlocation=eventlog
Для аудита событий регистрации администратора и неудачных попыток регистрации введите:
tlntadmn config audit=+admin +fail
Чтобы задать основной домен для компьютера, на котором выполняется сервер Telnet
Синтаксис
tlntadmn [\\ удаленный_сервер ] config [dom= имя_домена ]Параметры \\ удаленный_сервер Указывает имя сервера, к управлению которым требуется перейти. Если сервер не указан, используется локальный сервер. dom= имя_домена Указывает домен, который требуется сделать основным. /? Отображает справку в командной строке. Примечания
Чтобы сделать домен Redmond основным доменом на локальном сервере, введите:
tlntadmn config dom=Redmond
Чтобы сопоставить клавишу ALT для компьютера, на котором выполняется сервер Telnet
Синтаксис
tlntadmn [\\ удаленный_сервер ] config [ctrlakeymap= {yes | no }]
Параметры \\ удаленный_сервер Указывает имя сервера, к управлению которым требуется перейти. Если сервер не указан, используется локальный сервер. ctrlakeymap= {yes | no } Указывает, требуется ли интерпретация сервером Telnet сочетания клавиш CTRL+A как ALT. Введите yes для сопоставления сочетания клавиш или no для отказа от сопоставления. /? Отображает справку в командной строке. Примечания
Чтобы задать максимальное число подключений для компьютера, на котором выполняется сервер Telnet
Синтаксис
tlntadmn [\\ удаленный_сервер ] config [maxconn= положительное_целое ]
Параметры \\ удаленный_сервер Указывает имя сервера, к управлению которым требуется перейти. Если сервер не указан, используется локальный сервер. maxconn= положительное_целое Устанавливает максимальное число подключений. Этот номер можно указать с помощью любого положительного целого меньше 10 миллионов. /? Отображает справку в командной строке. Примечания
Чтобы задать максимальное число неудачных попыток доступа для компьютера, на котором выполняется сервер Telnet
Синтаксис
tlntadmn [\\ удаленный_компьютер ] config [maxfail= положительное_целое ]
Параметры \\ удаленный_сервер Указывает имя сервера, к управлению которым требуется перейти. Если сервер не указан, используется локальный сервер. maxfail= положительное_целое Задает максимальное разрешенное число неудачных попыток входа для пользователя. Этот номер можно указать с помощью любого положительного целого меньше 100. /? Отображает справку в командной строке. Примечания
Чтобы задать режим работы для компьютера, на котором выполняется сервер Telnet
Синтаксис
tlntadmn [\\ удаленный_сервер ] config [mode= {console | stream }]
Параметры \\ удаленный_сервер mode {console | stream } Указывает режим работы. /? Отображает справку в командной строке. Примечания
Чтобы задать порт Telnet для компьютера, на котором выполняется сервер Telnet
Синтаксис
tlntadmn [\\ удаленный_сервер ] config [port= целое_значение ]
Параметры \\ удаленный_сервер Указывает имя сервера, к управлению которым требуется перейти. Если сервер не указан, используется локальный сервер. port= целое_значение Задает порт Telnet. Порт можно указать с помощью любого целого меньше 1 024. /? Отображает справку в командной строке. Примечания
Чтобы задать методы проверки подлинности для компьютера, на котором выполняется сервер Telnet
Синтаксис
tlntadmn [\\ удаленный_сервер ] config [sec= [{+ | - }ntlm ][{+ | - }passwd ]]Параметры \\ удаленный_сервер Указывает имя сервера, к управлению которым требуется перейти. Если сервер не указан, используется локальный сервер. sec= [{+ | - }ntlm ][{+ | - }passwd ] Определяет использование проверки подлинности NTML или пароля, или одновременое их применение для проверки подлинности попыток входа. Чтобы использовать конкретный тип проверки подлинности, введите знак (+) перед данным типом проверки. Чтобы предотвратить использование проверки подлинности определенного типа, введите знак (-) перед этим типом. /? Отображает справку в командной строке. Примечания
Чтобы задать таймаут простоя сеансов для компьютера, на котором выполняется сервер Telnet
Синтаксис
tlntadmn [\\ удаленный_сервер ] config [timeout= чч : мм : сс ]
Параметры \\ удаленный_сервер Указывает имя сервера, к управлению которым требуется перейти. Если сервер не указан, используется локальный сервер. timeout= чч : мм : сс Задает значение истечения времени в часах, минутах и секундах. /? Отображает справку в командной строке. Примечания