Прогресс - явление, не знающее остановок. В области информационных технологий изменения происходят каждый день: появляются новые продукты, уходят в прошлое отжившие свое сервисы. Но есть инструменты, которые до сих пор пользуются популярностью несмотря на появившуюся альтернативу. Ярким примером является протокол Telnet. Что такое Telnet и как его использовать?
Telnet появился более 40 лет назад, вскоре после установки первого сервера ARPANET. Это один из наиболее старых протоколов сети Интернет. В эпоху, когда не было и в помине, а первые сети уже появились, необходимость в удаленном подключении к устройствам диктовала свои требования. Первое решение появившейся проблемы, как и все последующие, позволяло работать на удаленном устройстве как на своем. В интерфейсе стал доступен весь функционал, поддерживающийся Достаточно лишь получить необходимый уровень доступа и знать команды Telnet. Что такое и для чего нужен этот протокол мы разобрались. Но как на сегодняшний день реализуется подключение Telnet?
В современных операционных системах семейства Windows, перед тем как запустить Telnet, необходимо проверить, установлен ли данный компонент в системе. Сделать это несложно. Для Windows 7, самой распространённой на сегодняшней день операционной системы, необходимо выполнить приведенную ниже последовательность действий:
Чуть выше уже упоминались оба понятия из заголовка. Как и у множества других приложений, в Telnet различают клиентскую и серверную части. Однако сервер Telnet - вовсе не обязательно сервер в общем понимании этого слова. Компьютер, с которого осуществляется подключение, принято считать клиентом, устройство, к которому осуществляется данное подключение, будет сервером. Это может быть маршрутизатор, компьютер, или любой другой хост, поддерживающий управление с командной строки. Если речь идет об удаленном администрировании персонального пользовательского компьютера или сервера, Telnet-порт должен быть открыт. Часто его закрывают в целях безопасности, поэтому при попытке установить сессию появится сообщение об ошибке. Для проверки открытых и закрытых портов можно использовать специальную утилиту либо веб-сервис. Стандартный Telnet порт - 23. Если вы хотите не только самостоятельно подключаться к другим компьютерам, но и разрешить администрирование вашего ПК посредством Telnet, то в той же оснастке операционной системы необходимо поставить галочку и напротив компонента сервера Telnet. Аналогичным образом должны быть настроены те ПК и серверное оборудование, которые вы администрируете.
После запуска всех необходимых служб Telnet можно смело начинать работу с помощью встроенного инструмента Windows - командной строки. Вызывается она из меню "Пуск", либо щелчком мыши по соответствующему пункту, либо быстрым набором (cmd). Желательно всегда запускать командную строку с правами пользователя "Администратор" (либо локальный, устройства на котором вы работаете, либо доменный). В этом случае вам не придется перезапускать приложение, если потребуется повышение прав. Помимо имеющегося инструмента самой операционной системы, существуют и сторонние программы, позволяющие осуществлять доступ по Telnet-протоколу. Самой популярной из них является Putty. Наряду с ней пользуются успехом и другие приложения, работающие под разными операционными системами, такие как TeraTerm, AnyConnect, DTelnet, EasyTerm, KoalaTerm и многие другие. Какой программой пользоваться, каждый решает сам, в зависимости от личных предпочтений, требований к интерфейсу и т. д. Существенных отличий в плане функциональности между ними нет, и быть не может. Каждая из утилит реализует весь доступный список команд Telnet.
Опытному не составит труда в считаные минуты установить необходимые компоненты (если они не были проинсталлированы ранее), открыть Telnet-сессию и выполнить всю настройку удаленного хоста. Однако есть и новички, которые видят консоль чуть ли не в первый раз в жизни. Как узнать список доступных команд в Telnet? Что такое WONT AUTH или SET LOCALECHO? Все не так сложно, как кажется поначалу. Во-первых, всегда надо помнить о том, что в любом командном интерфейсе есть встроенная справка. Она бывает доступна по стандартным ключам, например, help или «?». Во-вторых, учитывая, насколько старый в сети можно найти бесконечное множество ресурсов с полезной информацией по синтаксису. Таким образом, переживать совершенно не о чем. А практика показывает, что с помощью нескольких строк команд результата добиться намного легче в большинстве случаев. И уже через несколько сессий вы с уверенностью будете набирать нужные команды без обращений к синтаксис-помощнику.
Мы уже говорили о том, что с помощью протокола Telnet можно управлять не только компьютерами, но и самыми различными сетевыми устройствами. Наиболее часто встречающийся класс таких устройств — это маршрутизаторы. Так что такое Telnet в роутере, для чего он нужен, как его включить?
В зависимости от производителя и конкретной модели включить доступ по Telnet можно по-разному. Вы можете зайти на роутер по веб-интерфейсу либо через консоль. В первом случае вам нужно будет найти пункт удаленного администрирования, где разрешается тот или иной вид подключения (Telnet, ssh). Во втором случае доступ может быть предоставлен посредством командной строки. Каждый администратор выбирает удобный для себя сценарий. Однако встречаются маршрутизаторы, в которых реализован только один из двух возможных вариантов первоначального подключения, например, доступен лишь веб-интерфейс. Администратору, привыкшему к работе с консолью, будет достаточно некомфортно искать пункт, где нужно поставить заветную галочку, но в действительности ничего сложного в этом нет. Интерфейс большинства современных роутеров достаточно понятен. Названия пунктов меню говорят сами за себя, минималистический дизайн не позволит запутаться.
К этому моменту мы в достаточной мере ознакомились с технологией, чтобы поговорить о достоинствах и недостатках Telnet. Каким бы удачным ни был продукт, нельзя говорить о том, что он абсолютно лишен минусов. А если речь идет о службе, которая была выпущена в самом начале 70-х годов прошлого века, забывать об этом факте и вовсе не стоит.
Из очевидных плюсов обязательно нужно отметить простоту, быстроту и удобство протокола. Меньше чем за минуту удобный клиент обратится к выбранному вами TCP-порту сервера и создаст эмуляцию локального терминала. Выше мы говорили о стандартном 23 рабочем порте. На самом деле и «прослушивать», и «разговаривать» по Telnet можно на любом порте. Именно в этом и заключается гибкость работы протокола.
По сравнению с другими протоколами удаленного администрирования Telnet менее требователен к процессору. С современными темпами развития этот плюс может показаться незначительным, но лишь на первый взгляд. Наряду с развитием техники, не стоят на месте и компании, выпускающие программное обеспечение. Приложения становятся все более громоздкими, требуют все больше места на жестком диске, больше оперативной памяти, более мощные процессоры. Утилита, которая на фоне остального установленного ПО будет потреблять незначительное количество системных ресурсов, придется как нельзя кстати.
Основной и часто приводимый недостаток Telnet - доступ к удаленному устройству осуществляется по незашифрованному каналу связи. Единственной преградой для злоумышленника служит аутентификация пользователя в момент открытия Telnet-сессии, то есть требование логина и пароля. Однако эти данные также передаются в незашифрованном виде. Поэтому, если кто-то задастся целью взломать доступ по Telnet, ему достаточно ненадолго запустить packet sniffer (программное обеспечение для «отлова» пакетов). Через какое-то время администратор откроет свою Telnet-сессию и сообщит удаленному серверу логин и пароль, которые тут же будут перехвачены злоумышленником в открытом виде. В этом разрезе альтернативой Telnet является SSH (защищенное соединение). Поэтому не рекомендуется использовать Telnet в сетях широкой доступности, например, вне вашей защищенной локальной сети офиса. Кроме того, следует помнить о том, что соединение с сервером может быть прервано.
Безусловно, за более чем четыре десятилетия появились и другие способы удаленного администрирования. Большой популярностью пользуется SSH. Казалось бы, Telnet должен был исчезнуть уже давно. Но он по-прежнему востребован, все так же используется. Если следовать определенным принципам безопасности, не забывая о том, что ваша локальная сеть должна быть надежно защищена от проникновения извне, использование Telnet не причинит вреда вашему оборудованию. При халатном отношении к безопасности не спасет ни SSH, ни любая другая технология.
Telnet используется до сих пор в таких сферах, как подключение к базам данных, проверка доступности сетевых устройств (маршрутизаторов и коммутаторов), серверного оборудования и т. д.
Telnet – это сетевая утилита, которая позволяет соединиться с удаленным портом любого компьютера и установить интерактивный канал связи, например, для передачи команд или получения информации. Можно сказать, что это универсальный браузер в терминале, который умеет работать со множеством сетевых протоколов.
Эта утилита очень часто использовалась для удаленного управления компьютером с Linux, но потом ей на замену пришел защищенный протокол SSH. Но telnet все еще используется, например, для тестирования сети, проверки портов, а также для взаимодействия с различными IoT устройствами и роутерами. В этой статье мы рассмотрим что такое telnet, а также как пользоваться telnet для решения своих задач.
Как я уже сказал, эта утилита предназначена для создания интерактивного соединения между удаленными компьютерами. Она работает по протоколу TELNET, но этот протокол поддерживается многими сервисами, поэтому ее можно использовать для управления ими. Протокол работает на основе TCP, и позволяет передавать обычные строковые команды на другое устройство. Он может использоваться не только для ручного управления но и для взаимодействия между процессами.
Для работы с этим протоколом мы будем использовать утилиту telnet, ею очень просто пользоваться. Давайте рассмотрим синтаксис telnet:
$ telnet опции хост порт
Хост – это домен удаленного компьютера, к которому следует подключиться, а порт – порт на этом компьютере. А теперь давайте рассмотрим основные опции:
Это все, что касается команды telnet для установки соединения. Но соединение с удаленным хостом, это только полдела. После установки подключения telnet может работать в двух режимах:
Использование telnet заключается в передаче специальных команд. У каждого сервиса свои команды, но у протокола есть свои команды telnet, которые можно применять в консоли telnet.
Мы не будем рассматривать все команды, поскольку они вам вряд ли понадобятся, а если и понадобятся, то вы легко сможете их найти в официальной документации.
Дальше мы рассмотрим как использовать telnet для решения ваших задач. Обычно, утилита уже установлена в большинстве систем, но если это не так, то вы можете установить telnet из официальных репозиториев, например, в Ubuntu:
$ sudo apt install telnet
Для этого не обязательно применять telnet, есть ping.
C помощью telnet мы можем проверить доступность порта на узле, а это уже может быть очень полезным. Чтобы проверить порт telnet выполните:
$ telnet localhost 123 $ telnet localhost 22
$ telnet localhost 123 $ telnet localhost 22 |
В первом случае мы видим, что соединение никто не принимает, во втором же выводится сообщение об успешном подключении и приветствие SSH сервера.
Чтобы включить режим отладки и выводить более подробную информацию во время работы используйте опцию -d во время подключения:
$ sudo telnet -d localhost 22
$ sudo telnet - d localhost 22 |
Использование консоли telnet тоже важный момент в разборе как пользоваться telnet. В основном режиме вы можете выполнять команды, на удаленном сервере, если же вы хотите адресовать команду именно telnet, например, для настройки ее работы, необходимо использовать спецсимвол для открытия консоли, обычно утилита сразу говорит вам что это за символ, например, по умолчанию используется “^[“:
Для его активации вам нужно нажать сочетание клавиш Ctrl+[, затем вы уведите приглашение ввода telnet.
Чтобы посмотреть все доступные команды, вы можете набрать?. Например, вы можете посмотреть статус подключения:
telnet> status
telnet > status |
Здесь есть и другие интересные возможности. Такие вещи можно проделывать при любом подключении с помощью утилиты telnet.
Один из распространенных способов использования telnet – это тестирование сайта из консоли. Да, красивую веб-страницу вы не получите, но можете вручную собрать запросы и видеть все переданные сервером данные.
$ telnet opennet.ru 80
$ telnet opennet . ru 80 |
Затем наберите команду веб-серверу.
Обсуждение подопций
Некоторые опции требуют большего количества информации, нежели просто "включить" (enable) или "выключить" (disable). Например, установка типа терминала: для того чтобы клиент мог идентифицировать тип терминала, он должен отправить ASCII строку. Чтобы обработать эти опции, применяется обсуждение подопций.
RFC 1091 определяет подопции, которые необходимо обсудить для установки типа терминала. Во-первых, одна сторона (обычно клиент) просит включить опцию, отправляя 3-байтовую последовательность
где 24 (десятичное) это идентификатор опции типа терминала. Если получатель (сервер) говорит ДА, его ответ будет выглядеть как
Затем сервер посылает
спрашивая о типе терминала клиента. SB это команда, которая сообщает о начале подопций (suboption-begin). Следующий байт равный 24 указывает на то, что это подопция типа терминала. (SB всегда следует за номером опции, к которой относятся подопции.) Следующий байт равный 1 означает "отправьте ваш тип терминала". Перед командой конец подопций (suboption-end) должен опять стоять IAC, так же как и перед командой SB. Клиент отвечает командой
в случае, если его тип терминала ibmpc. Четвертый байт равный 0 означает "у меня следующий тип терминала". ("Официальный" список приемлемых типов терминалов находится в Assigned Numbers RFC, однако для Unix систем приемлем любой тип терминала, поддерживаемый сервером. Обычно это терминалы, поддерживаемые базами termcap или terminfo.) Типы терминалов, указываемые в подопциях Telnet, пишутся большими буквами и обычно преобразуются в маленькие буквы уже сервером.
Команды Telnet позволяют связаться с удаленным компьютером, использующим протокол Telnet. Можно выполнить команду telnet без параметров для входа в контекст Telnet, обозначенный в командной строке Telnet (Microsoft Telnet>). В командной строке Telnet используйте команды Telnet для управления компьютером, на котором выполняется клиент Telnet.
Командная строка клиента Telnet принимает следующие команды.
Команда | Описание |
open | Синтаксис: openимя_узла . Используется для установки соединения с узлом по протоколу Telnet |
close | Команда close используется для закрытия существующего соединения по протоколу Telnet |
display | Команда display используется для просмотра текущих параметров клиента Telnet |
send | Команда send используется для отправления команд на сервер Telnet. Поддерживаются следующие команды: ao Отменяет команду ввода ayt Команда «Вы на месте?» esc Отправляет текущий управляющий знак ip Прерывает выполнение команды обработки synch Выполняет операцию синхронизации Telnet brk Отправляет сигнал разрыва Любые другие команды, отличные от указанных выше, отправляются на сервер Telnet как строка. Например, команда sendabcd отправит строку abcd на этот сервер, который отобразит строку в окне сеанса Telnet |
quit | Команда quit используется для выхода из клиента Telnet |
set | Команда set с одним из следующих аргументов используется для настройки клиента Telnet в текущем сеансе.
bsasdel
Назначает удаление последнего символа в качестве удаления
параметр codeset
Параметр доступен, если установлен японский язык. Используется для задания кодовой страницы в ключе параметр, который может принимать одно из следующих значений:
|
unset | Команда unset используется для отключения параметров, предварительно заданных с помощью команды set |
status | Команда status позволяет определить, подключен ли компьютер, на котором выполняется клиент Telnet |
? или help | Отображает справочные сведения |
ВОПРОСЫ ДЛЯ ЗАЩИТЫ:
1. Принципы, положенные в основу взаимодействия про протоколу Telnet(NVT,договорные опции, симметричность)
2. Как происходит согласование формы представления данных в Unix-системах
3. NVT(основные функции, как определен в Telnet, буферезирован или небуферезирован
4. Команды управления терминалом. Краткая характеристика.
5. Синхронизация в Telnet.
6. Формат команды.Пример
7. Программа-сервер(telnetd).Принцип работы.
8. Программа-клиент(telnet).Режимы работы. Основные команды режима командной строки.
9. Объяснить на своем примере принцип договорных опций/подопций.
Команды 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 }] [? ]
unset [параметр ]
e символ
Чтобы отправить команды клиента Telnet
send [\\ удаленный_сервер ] [ao ] [ ayt ] [esc ] [ip ] [synch ] [ ? ]
Чтобы посмотреть текущие параметры клиента Telnet
отсутствуют
Чтобы использовать команды tlntadmn из командной строки
Чтобы администрировать компьютер, на котором выполняется сервер Telnet
tlntadmn [\\ удаленный_сервер ] [start ] [stop ] [pause ] [continue ]
Чтобы администрировать сеансы Telnet
tlntadmn [\\ удаленный_сервер ] [-s ] [-k { код_сеанса | all }] [-m {код_сеанса | all } " сообщение " ]
Чтобы установить параметры журанала событий для компьютера, на котором выполняется сервер Telnet
tlntadmn [\\ удаленный_компьютер ] config [auditlocation= { eventlog | file | both }] [audit= [{+ | - }admin ][{+ | - }user ][{+ | - } fail ]]
Для отправки информации о событиях в окно просмотра событий введите:
tlntadmn config auditlocation=eventlog
Для аудита событий регистрации администратора и неудачных попыток регистрации введите:
tlntadmn config audit=+admin +fail
Чтобы задать основной домен для компьютера, на котором выполняется сервер Telnet
tlntadmn [\\ удаленный_сервер ] config [dom= имя_домена ]
Чтобы сделать домен Redmond основным доменом на локальном сервере, введите:
tlntadmn config dom=Redmond
Чтобы сопоставить клавишу ALT для компьютера, на котором выполняется сервер Telnet
tlntadmn [\\ удаленный_сервер ] config [ctrlakeymap= { yes | no }]
Чтобы задать максимальное число подключений для компьютера, на котором выполняется сервер Telnet
tlntadmn [\\ удаленный_сервер ] config [maxconn= положительное_целое ]
Чтобы задать максимальное число неудачных попыток доступа для компьютера, на котором выполняется сервер Telnet
tlntadmn [\\ удаленный_компьютер ] config [maxfail= положительное_целое ]
Чтобы задать режим работы для компьютера, на котором выполняется сервер Telnet
tlntadmn [\\ удаленный_сервер ] config [mode= {console | stream }]
Чтобы задать порт Telnet для компьютера, на котором выполняется сервер Telnet
tlntadmn [\\ удаленный_сервер ] config [port= целое_значение ]
Чтобы задать методы проверки подлинности для компьютера, на котором выполняется сервер Telnet
tlntadmn [\\ удаленный_сервер ] config [sec= [{+ | - }ntlm ][{+ | - }passwd ]]
Чтобы задать таймаут простоя сеансов для комьютера, на котором выполняется сервер Telnet
tlntadmn [\\ удаленный_сервер ] config [timeout= чч : мм : сс ]
Не все пользователи компьютеров знают о наличии скрытых служб, которые позволяют выполнять различные операции без использования специального программного обеспечения. В операционных системах Windows и Linux присутствует служба Telnet. В этом материале будет подробно рассмотрено назначение службы, команды, возможности и как с ней правильно работать.
Telnet – представляет собой средство связи, которое устанавливается между терминальными устройствами. Пример такой связи достаточно простой: персональный компьютер и сервер, который поддерживает подобный тип соединения. Телнет не является каким-либо программным обеспечением, это протокол связи . Но необходимо отметить, что есть некоторые утилиты, которые работают посредством протокола «terminalnetwork».
В недавнем прошлом Телнет был одним из основных способов подключения к сети. Сейчас утилита практически не используется . На сегодняшний день в операционные системы установлены более совершенные протоколы, исключая какие-либо дополнительные действия от пользователя.
Этот протокол связи используется в некоторых операциях:
Скачивать утилиту не нужно, Telnet встроен в Windows 7/8/10 по умолчанию.
Инструкция по установке и запуску:
Для того, чтобы запустить клиент нужно открыть командную строку:
Предлагаем ознакомиться с видео по установке Телнет в Windows:
Проверка сетевого порта на наличие доступа к нему персонального компьютера в Telnet:
Команды утилиты являются способом взаимодействия с ней. Для отображения списка всех команд , необходимо ввести «help». Далее подробно разберем основные команды:
Как и в Виндовс, Телнет встроен в операционную систему Linux. Ранее он использовался, как стандартный протокол Telnet, теперь на его место пришел более улучшенный SSH. Как и с предыдущей ОС, утилита в Linux используется для проверки портов, маршрутизаторов и т.д.
Рассмотрим основные режимы работы:
Базовые команды в Linux:
Главным недостатком данного протокола является – удаленное соединение без использования шифрования . Единственным моментом безопасности является авторизация пользователей в сессии телнет. Но тем не менее логин и пароль также передаются в незашифрованном виде, тем самым доступ к ним можно так или иначе получить. Настоятельно не рекомендуется передавать какие-либо важные данные в локальных сетях.