• Наиболее часто используемые команды Telnet. Порт Telnet - что такое? Подключение и запуск Telnet

    Прогресс - явление, не знающее остановок. В области информационных технологий изменения происходят каждый день: появляются новые продукты, уходят в прошлое отжившие свое сервисы. Но есть инструменты, которые до сих пор пользуются популярностью несмотря на появившуюся альтернативу. Ярким примером является протокол Telnet. Что такое Telnet и как его использовать?

    Немного истории: когда и для чего появился Telnet?

    Telnet появился более 40 лет назад, вскоре после установки первого сервера ARPANET. Это один из наиболее старых протоколов сети Интернет. В эпоху, когда не было и в помине, а первые сети уже появились, необходимость в удаленном подключении к устройствам диктовала свои требования. Первое решение появившейся проблемы, как и все последующие, позволяло работать на удаленном устройстве как на своем. В интерфейсе стал доступен весь функционал, поддерживающийся Достаточно лишь получить необходимый уровень доступа и знать команды Telnet. Что такое и для чего нужен этот протокол мы разобрались. Но как на сегодняшний день реализуется подключение Telnet?

    Запуск терминала. Включение необходимых служб

    В современных операционных системах семейства Windows, перед тем как запустить Telnet, необходимо проверить, установлен ли данный компонент в системе. Сделать это несложно. Для Windows 7, самой распространённой на сегодняшней день операционной системы, необходимо выполнить приведенную ниже последовательность действий:

    1. Выбрать пункт "Панель Управления" или Control Panel в меню "Пуск" (Start).
    2. В открывшемся окне выбрать пункт "Программы". В английской версии системы это будет Programs.
    3. Переходим на вкладку "Включение или отключение компонентов Windows" (Turn Windows features on or off). Система составляет список всех доступных компонентов. Уже установленные будут отмечены флажками. Этот процесс может затянуться на несколько минут.
    4. После того как подгрузится список, необходимо найти пункт Telnet-клиент. В меню есть и Telnet-сервер, но к этому мы вернемся чуть позже. Если галочка напротив нужного нам пункта не стоит, ее нужно поставить.
    5. После нажатия кнопки "ОК" система начнет устанавливать необходимые составляющие для правильной работы протокола. На это может потребоваться некоторое время, но на современных компьютерах процесс вряд ли займет больше минуты. Таким образом, вопрос, как включить Telnet, был решен в 5 простых шагов.

    Служба Telnet: и клиент Telnet?

    Чуть выше уже упоминались оба понятия из заголовка. Как и у множества других приложений, в Telnet различают клиентскую и серверную части. Однако сервер Telnet - вовсе не обязательно сервер в общем понимании этого слова. Компьютер, с которого осуществляется подключение, принято считать клиентом, устройство, к которому осуществляется данное подключение, будет сервером. Это может быть маршрутизатор, компьютер, или любой другой хост, поддерживающий управление с командной строки. Если речь идет об удаленном администрировании персонального пользовательского компьютера или сервера, Telnet-порт должен быть открыт. Часто его закрывают в целях безопасности, поэтому при попытке установить сессию появится сообщение об ошибке. Для проверки открытых и закрытых портов можно использовать специальную утилиту либо веб-сервис. Стандартный Telnet порт - 23. Если вы хотите не только самостоятельно подключаться к другим компьютерам, но и разрешить администрирование вашего ПК посредством Telnet, то в той же оснастке операционной системы необходимо поставить галочку и напротив компонента сервера Telnet. Аналогичным образом должны быть настроены те ПК и серверное оборудование, которые вы администрируете.

    Программы для работы с Telnet

    После запуска всех необходимых служб Telnet можно смело начинать работу с помощью встроенного инструмента Windows - командной строки. Вызывается она из меню "Пуск", либо щелчком мыши по соответствующему пункту, либо быстрым набором (cmd). Желательно всегда запускать командную строку с правами пользователя "Администратор" (либо локальный, устройства на котором вы работаете, либо доменный). В этом случае вам не придется перезапускать приложение, если потребуется повышение прав. Помимо имеющегося инструмента самой операционной системы, существуют и сторонние программы, позволяющие осуществлять доступ по Telnet-протоколу. Самой популярной из них является Putty. Наряду с ней пользуются успехом и другие приложения, работающие под разными операционными системами, такие как TeraTerm, AnyConnect, DTelnet, EasyTerm, KoalaTerm и многие другие. Какой программой пользоваться, каждый решает сам, в зависимости от личных предпочтений, требований к интерфейсу и т. д. Существенных отличий в плане функциональности между ними нет, и быть не может. Каждая из утилит реализует весь доступный список команд Telnet.

    Telnet-команды: как разобраться?

    Опытному не составит труда в считаные минуты установить необходимые компоненты (если они не были проинсталлированы ранее), открыть Telnet-сессию и выполнить всю настройку удаленного хоста. Однако есть и новички, которые видят консоль чуть ли не в первый раз в жизни. Как узнать список доступных команд в Telnet? Что такое WONT AUTH или SET LOCALECHO? Все не так сложно, как кажется поначалу. Во-первых, всегда надо помнить о том, что в любом командном интерфейсе есть встроенная справка. Она бывает доступна по стандартным ключам, например, help или «?». Во-вторых, учитывая, насколько старый в сети можно найти бесконечное множество ресурсов с полезной информацией по синтаксису. Таким образом, переживать совершенно не о чем. А практика показывает, что с помощью нескольких строк команд результата добиться намного легче в большинстве случаев. И уже через несколько сессий вы с уверенностью будете набирать нужные команды без обращений к синтаксис-помощнику.

    Telnet на сетевых устройствах

    Мы уже говорили о том, что с помощью протокола Telnet можно управлять не только компьютерами, но и самыми различными сетевыми устройствами. Наиболее часто встречающийся класс таких устройств — это маршрутизаторы. Так что такое Telnet в роутере, для чего он нужен, как его включить?

    В зависимости от производителя и конкретной модели включить доступ по Telnet можно по-разному. Вы можете зайти на роутер по веб-интерфейсу либо через консоль. В первом случае вам нужно будет найти пункт удаленного администрирования, где разрешается тот или иной вид подключения (Telnet, ssh). Во втором случае доступ может быть предоставлен посредством командной строки. Каждый администратор выбирает удобный для себя сценарий. Однако встречаются маршрутизаторы, в которых реализован только один из двух возможных вариантов первоначального подключения, например, доступен лишь веб-интерфейс. Администратору, привыкшему к работе с консолью, будет достаточно некомфортно искать пункт, где нужно поставить заветную галочку, но в действительности ничего сложного в этом нет. Интерфейс большинства современных роутеров достаточно понятен. Названия пунктов меню говорят сами за себя, минималистический дизайн не позволит запутаться.

    Преимущества Telnet-сессий

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

    Из очевидных плюсов обязательно нужно отметить простоту, быстроту и удобство протокола. Меньше чем за минуту удобный клиент обратится к выбранному вами TCP-порту сервера и создаст эмуляцию локального терминала. Выше мы говорили о стандартном 23 рабочем порте. На самом деле и «прослушивать», и «разговаривать» по Telnet можно на любом порте. Именно в этом и заключается гибкость работы протокола.

    По сравнению с другими протоколами удаленного администрирования Telnet менее требователен к процессору. С современными темпами развития этот плюс может показаться незначительным, но лишь на первый взгляд. Наряду с развитием техники, не стоят на месте и компании, выпускающие программное обеспечение. Приложения становятся все более громоздкими, требуют все больше места на жестком диске, больше оперативной памяти, более мощные процессоры. Утилита, которая на фоне остального установленного ПО будет потреблять незначительное количество системных ресурсов, придется как нельзя кстати.

    Недостатки Telnet-протокола

    Основной и часто приводимый недостаток Telnet - доступ к удаленному устройству осуществляется по незашифрованному каналу связи. Единственной преградой для злоумышленника служит аутентификация пользователя в момент открытия Telnet-сессии, то есть требование логина и пароля. Однако эти данные также передаются в незашифрованном виде. Поэтому, если кто-то задастся целью взломать доступ по Telnet, ему достаточно ненадолго запустить packet sniffer (программное обеспечение для «отлова» пакетов). Через какое-то время администратор откроет свою Telnet-сессию и сообщит удаленному серверу логин и пароль, которые тут же будут перехвачены злоумышленником в открытом виде. В этом разрезе альтернативой Telnet является SSH (защищенное соединение). Поэтому не рекомендуется использовать Telnet в сетях широкой доступности, например, вне вашей защищенной локальной сети офиса. Кроме того, следует помнить о том, что соединение с сервером может быть прервано.

    Заключение. Использовать или нет?

    Безусловно, за более чем четыре десятилетия появились и другие способы удаленного администрирования. Большой популярностью пользуется SSH. Казалось бы, Telnet должен был исчезнуть уже давно. Но он по-прежнему востребован, все так же используется. Если следовать определенным принципам безопасности, не забывая о том, что ваша локальная сеть должна быть надежно защищена от проникновения извне, использование Telnet не причинит вреда вашему оборудованию. При халатном отношении к безопасности не спасет ни SSH, ни любая другая технология.

    Telnet используется до сих пор в таких сферах, как подключение к базам данных, проверка доступности сетевых устройств (маршрутизаторов и коммутаторов), серверного оборудования и т. д.

    Эмуляция удаленного терминала. Удаленный доступ к ресурсам сети

    Telnet - это одна из самых старых информационных технологий Internet. Она входит в число стандартов, которых насчитывается три десятка на полторы тысячи рекомендуемых официальных материалов сети, называемых RFC (Request For Comments).

    Под telnet понимают триаду, состоящую из:

    • telnet-интерфейса пользователя;
    • telnetd-процесса;
    • TELNET-протокола.

    Эта триада обеспечивает описание и реализацию сетевого терминала для доступа к ресурсам удаленного компьютера.

    В настоящее время существует достаточно большое количество программ - от Kermit до различного рода BBS (Belluten Board System), которые позволяют работать в режиме удаленного терминала, но ни одна из них не может сравниться с telnet по степени проработанности деталей и концепции реализации. Для того, чтобы оценить это, знакомство с telnet стоит начать с протокола.

    Протокол Telnet

    Telnet как протокол описан в RFC-854 (май, 1983 год). Его авторы J.Postel и J.Reynolds во введении к документу определили назначение telnet так:

    "Назначение TELNET-протокола - дать общее описание, насколько это только возможно, двунаправленного, восьмибитового взаимодействия, главной целью которого является обеспечение стандартного метода взаимодействия терминального устройства и терминал-ориентированного процесса. При этом этот протокол может быть использован и для организации взаимодействий "терминал-терминал" (связь) и "процесс-процесс" (распределенные вычисления)."

    Telnet строится как протокол приложения над транспортным протоколом TCP. В основу telnet положены три фундаментальные идеи:

    • концепция сетевого виртуального терминала (Network Virtual Terminal) или NVT;
    • принцип договорных опций (согласование параметров взаимодействия);
    • симметрия связи "терминал-процесс".

    При установке telnet-соединения программа, работающая с реальным терминальным устройством, и процесс обслуживания этой программы используют для обмена информацией спецификацию представления правил функционирования терминального устройства или Сетевой Виртуальный Терминал (Network Virtual Terminal). Для краткости будем обозначать эту спецификацию NVT. NVT - это стандартное описание наиболее широко используемых возможностей реальных физических терминальных устройств. NVT позволяет описать и преобразовать в стандартную форму способы отображения и ввода информации. Терминальная программа ("user") и процесс ("server"), работающий с ней, преобразовывают характеристики физических устройств в спецификацию NVT, что позволяет, с одной стороны, унифицировать характеристики физических устройств, а с другой обеспечить принцип совместимости устройств с разными возможностями. Характеристики диалога диктуются устройством с меньшими возможностями.

    Если взаимодействие осуществляется по принципу "терминал-терминал" или "процесс-процесс", то "user" - это сторона, инициирующая соединение, а "server" - пассивная сторона.

    Принцип договорных опций или команд позволяет согласовать возможности представления информации на терминальных устройствах. NVT - это минимально необходимый набор параметров, который позволяет работать по telnet даже самым допотопным устройствам, реальные современные устройства обладают гораздо большими возможностями представления информации. Принцип договорных команд позволяет использовать эти возможности. Например, NVT является терминалом, который не может использовать функции управления курсором, а реальный терминал, с которого осуществляется работа, умеет это делать. Используя команды договора, терминальная программа предлагает обслуживающему процессу использовать Esc-последовательности для управления выводом информации. Получив такую команду процесс начинает вставлять управляющие последовательности в данные, предназначенные для отображения.

    Симметрия взаимодействия по протоколу telnet позволяет в течении одной сессии программе-"user" и программе-"server" меняться местами. Это принципиально отличает взаимодействие в рамках telnet от традиционной схемы "клиент-сервер". Симметрия взаимодействия тесно связана с процессом согласования формы обмена данными между участниками telnet-соединения. Когда речь идет о работе на удаленной машине в режиме терминала, то возможности ввода и отображения информации определяются только конкретным физическим терминалом и договорной процесс сводится к заказу терминальной программой характеристик этого терминала. Гораздо сложнее обстоит дело, когда речь идет об обмене информацией между двумя терминальными программами в режиме "терминал-терминал". В этом случае каждая из сторон может выступать инициатором изменения принципов представления информации и здесь проявляется еще одна особенность протокола telnet. Протокол не использует принцип "запрос-подтверждение", а применяет принцип "прямого действия". Это значит, что если терминальная программа хочет расширить возможности представления информации, то она делает это (например, вставляет в информационный поток Esc-последовательности), если в ответ она получает информацию в новом представлении, то это означает, что попытка удалась, в противном случае происходит возврат к стандарту NVT.

    Обычно процесс согласования форм представления информации происходит в начальный момент организации telnet-соединения. Каждый из процессов старается установить максимально возможные параметры сеанса. Однако эти параметры могут быть изменены и позже, в процессе взаимодействия (например, после запуска прикладной программы).

    В Unix-системах параметры терминалов обычно описаны в базе данных описания терминалов termcap. При инициировании telnet-соединения обычно именно эти параметры используются в процессе согласования формы представления данных. При этом из одной системы в другую обычно передается значение переменной окружения TERM. Если для этого значения переменной TERM имеются одинаковые описания в termcap, то проблем с представлением информации обычно не бывает; если терминал, заказанный в TERM, не определен, то берется стандартный терминал системы. При этом не все функции этого терминала будут задействованы. В процессе договора останутся только те, которые поддерживаются на обоих концах соединения. Часто можно столкнуться с ситуацией, когда значения переменных TERM на локальной и удаленной машинах совпадают, а информация на экране отображается не так, как этого бы хотелось. Скорее всего это вызвано различиями в описании данного устройства в базе данных termcap.

    Сетевой виртуальный терминал (NVT) . Концепция сетевого виртуального терминала позволяет обеспечить доступ к ресурсам удаленной машины с любого терминального устройства. Под терминальным устройством понимают любую комбинацию физических устройств, позволяющих вводить и отображать информацию. Для тех кто знаком с универсальными машинами серии EC, такое определение терминала не является новым: в момент загрузки системы можно было назначить составную консоль, в которую могли входить устройство ввода с перфокарт и алфавитно-цифровое печатающее устройство (АЦПУ). В более ранних вычислительных комплексах такими терминалами могли быть системная печать и устройство чтения перфоленты (как на МИНСК-22) или телетайп (как на М-6000). Понятно, что за таким понятием терминала стоит требование устойчивости системы, которое было основополагающим для проекта ARPA.

    В протоколе TELNET NVT определен как "двунаправленное символьное устройство, состоящее из принтера и клавиатуры". Принтер предназначен для отображения приходящей по сети информации, а клавиатура - для ввода данных, передаваемых по сети и, если включен режим "echo", вывода их на принтер. По умолчанию предполагается, что для обмена информацией используется 7-битовый US ASCII, каждый символ которого закодирован в 8-битовое поле. Любое преобразование символов является расширением стандарта NVT.

    NVT предполагается буферизованным устройством. Это означает, что данные, вводимые с клавиатуры, не посылаются сразу по сети, а собираются в пакеты, которые отправляются либо по мере заполнения буфера, либо по специальной команде. Такая организация NVT призвана с одной стороны минимизировать сетевой трафик, а с другой обеспечить совместимость с реальными буферизованными терминалами. Например, таковым и являются терминалы ЕС-7920, из-за которых можно было потерять целый экран информации в случае зависания машины.

    В моменты окончания печати на принтере NVT или отсутствия символов в буфере клавиатуры по сети должна посылаться специальная команда GA (Go Ahead). Смысл этой команды заключается в следующем: в реальных компьютерах линия "терминал-процесс" находится под управлением либо терминальной программы (ввод данных), либо печатающей программы. После выполнения своей функции каждая из них возвращает управление и освобождает линию. Обычно это происходит при работе с полудуплексными устройствами, такими как IBM-2741. Для того, чтобы протокол позволял работать и с этими устройствами, введен сигнал GA.

    Остановимся более подробно на понятиях принтера и клавиатуры в концепции NVT.

    Принтер имеет неограниченные ширину и длину страницы и может отображать все символы US ASCII (коды с 32 - 127), расширенный набор символов (коды с 128 - 255), а также распознает управляющие коды (с 0 - 31 и 127). Некоторые из них имеют специальные значения (таблица 3.1).

    Клавиатура имеет возможность ввода всех символов US ASCII. Кроме этого клавиатура может генерировать специальные стандартные функции управления терминалом. Стандарт telnet определяет пять стандартных функций управления терминалом. Вообще говоря, эти функции могут или присутствовать на реальном терминале, и тогда они должны представляться в стандартной форме команды, или отсутствовать, и тогда заменяться командой NO (No-Оperation).

    Команда "Прервать процесс" (Interrupt Process - IP). Данная команда реализует стандартный для многих систем механизм прерывания процесса выполнения задачи пользователя (Cntrl+C в Unix-системах или Cntrl+Break в MS-DOS). Следует заметить, что команда IP может быть использована и другим протоколом прикладного уровня, который может использовать telnet.

    Команда "Прервать процесс выдачи" (Abort Output - AO). Многие системы позволяют остановить процесс, выдающий информацию на экран. Здесь следует понять отличие данной команды от IP. При выполнении IP прерывается выполнение текущего процесса пользователя, но не происходит очистка буфера вывода, т.е. процесс может быть остановлен, а буфер вывода будет продолжать передаваться на экран. Обычно это происходит при взаимодействии по медленным линиям связи. Пользователи персональных компьютеров прекрасно знакомы с этой особенностью буферизованных устройств, когда возникают проблемы с остановкой печати: пользователь уже прервал печать и очистил по команде print /t буфер печати на компьютере, а лазерный принтер продолжает изводить бумагу лист за листом. Это типичный пример непродуманного подхода к процессу управления терминальным устройством, который характерен для разработчиков MS-DOS. Для того, чтобы избежать подобного казуса и существует команда AO. Реально проверить ее может любой пользователь медленного телефонного канала связи - для этого можно запустить команду more для просмотра большого файла, после этого по команде Cntrl+C прервать ее - выдача информации на экран будет продолжаться, и после этого выдать из командной строки telnet команду AO, что прервет выдачу.

    Команда "Ты еще здесь?" (Are You There - AYT). Назначение этой команды - дать возможность пользователю убедиться, что в процессе работы по медленным линиям он не потерял связи с удаленной машиной. В силу буферизации ввода и вывода может оказаться, что пользователь может вводить данные, а связь с удаленной машиной уже потеряна. В стандартной ситуации этот факт будет обнаружен только после нажатия клавиши "Enter". Telnet дает возможность убедится в наличии связи в любой момент времени.

    Команда "Удалить символ" (Erase Character - EC). Многие системы обеспечивают возможность редактирования командной строки путем введения так называемых символов "забой" или удалением последнего напечатанного символа на устройстве отображения. В любом случае последний введенный в буфер символ удаляется. Команда EC призвана стандартизировать реализацию этого механизма.

    Команда "Удалить строку" (Erase Line - EL). Данная команда аналогична EC, но удаляет целую строку ввода. Обычно выполнение этой команды приводит к очистке буфера ввода, т.к. при работе в режиме командной строки строка ввода только одна.

    Синхронизация . В локальных системах синхронизация работы процессов обычно реализуются через механизм прерываний или, как в Unix, механизм сигналов. Это означает, что система имеет возможность вмешаться в процесс обработки данных практически в любой момент времени. В контексте взаимодействия программы обработки данных и терминальной программы это означает возможность прервать программу обработки или очистить один из буферов с/без отображением(я) информации из него. Именно к этому типу взаимодействия относятся команды IP и AO. Однако в сети сделать это не так просто, как в локальной вычислительной среде. Данные при передаче между машинами буферизуются и обмен происходит пакетами. Если бы команда "Прервать процесс" просто вставлялась в последовательность символов в пакете, то это приводило бы к эффекту запаздывания, т.е. после ввода пользователем команды "прервать процесс", а процесс будет продолжать выполняться пока не доберется до идентификатора команды IP в полученном пакете. Результат - бесполезно потраченное время. Поэтому механизм синхронизации telnet состоит из использования специальной формы пакета TCP (TCP Urgent notification) и команды DATA MARK (DM). Специальная форма TCP пакета используется для изменения процедуры обработки пакетов. Обычно пакет обрабатывается, начиная с первого символа пакета последовательно. В случае специальной формы пакета сначала происходит поиск "интересных" сигналов, а уже потом производится обработка пакета по стандартному сценарию. Команда DM обычно замыкает пакет и обозначает конец специальной обработки. Если TCP-пакет содержит специальные символы до DM, то порядок специальной обработки отменяется, а DM воспринимается как команда No- Operation (NO). Если специальные символы не найдены, то порядок специальной обработки пакетов продолжается. В этом смысле интересными сигналами или символами являются стандартные команды telnet IP, AO, AYT или другие команды, требующие немедленного выполнения.

    Telnet можно использовать как команду в операционной системе Windows. На самом деле это не только исполняемая служба, но и сетевой протокол или даже микропрограмма, которая при помощи текстового поля позволяет пользователю «общаться» с удаленным компьютером, передавая системе команду на выполнение того или иного действия, а также получения лога его выполнения.

    Расшифровывается название протокола как Terminal network, что в дословном переводе означает – терминальная сеть.

    Что собой представляет Terminal network

    При помощи команды telnet, несмотря на её невысокую функциональность, можно выполнить достаточно много задач, таких как:

    • проверка соединения с сервером при помощи открытого порта;
    • подключение к удаленным устройствам (модем, роутер или свитч) для передачи команды (перезагрузки, выключения или получения логов);
    • обновление микропрограммы (прошивка) сетевого оборудования или мобильного телефона;
    • передача файлов.

    Многие считают, что такое соединение работает, как и большинство сетевых служб, по принципу клиент-сервер. Однако это не так. telnet – полностью двусторонняя служба с одинаковыми функциями и уровнями доступа.

    Что интересно, сама программа включает минимальный набор функций, который содержит только опцию подключения и процесс аутентификации (проверки подлинности имени пользователя и пароля, которому разрешен доступ). Все остальные опции, как командные, так и системные, вызываются подключаемыми приложениями.

    Как работать с оболочкой?

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


    Как управлять службой?

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


    Если вы знакомы с опциями, можно сразу подключаться к нужному ресурсу с указанием необходимых данных. В этом случае сервер для соединения – «smatp.ya.ru» и порт – «25».

    Итог:

    Команда telnet очень проста в использовании и достаточно удобна. Однако в технологи её работы абсолютно не предусмотрена безопасность. Оболочка работает под Windows в полностью незащищенном режиме и без шифрования. Поэтому вместо этой функции уже достаточно давно используется ssh.

    По принципу организации соединения они практически одинаковы. Но протокол ssh разрабатывался с учетом возможных технологий защиты. В некоторых случаях более простого способа соединения вполне достаточно, например, когда необходимо подключиться к оборудованию, чтобы загрузить в него новую прошивку или восстановить старую, а также для изменения конфигурации системы.

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

    Рис. 3. Список команд telnet в клиенте Microsoft.