Обмен информации протокола telnet. Основные команды telnet и особенности утилиты удалённого доступа

Network Virtual Terminal , NVT); вторая, принцип оговоренных опций; третья, симметричный вид терминалов и процессов.
  1. Когда устанавливается TELNET соединение, предполагается, что на каждом конце соединения порождается и завершается "Виртуальный Сетевой Терминал" или ВСТ. ВСТ - это воображаемое устройство которое предоставляет стандартное, доступное через cеть, промежуточное представление классического терминала. Это устраняет необходимость в "серверном" и "клиентском" узлах для хранения информации о характеристиках каждого терминала и договоренностей о взаимодействии. Все узлы, как клиентский, так и серверный, отображают свои локальные характеристики устройства с тем, чтобы выступать в сети как ВСТ, и каждый мог принять похожее отображение с другой стороны. ВСТ предназначен для сведения баланса между чрезмерным ограничением и чрезмерными возможностями.
    Примечание : "Пользовательский" хост - это обычно хост с привязанным к нему физическим терминалом, а "серверный" хост - это обычно хост предоставляющий некий сервис. Как альтернативную точку зрения, можно рассматривать случай когда соединяются равные хосты: терминал-терминал или процесс-процесс. Таким образом будем считать "пользовательским" хостом тот хост который инициирует соединение.
  2. Принцип оговоренных опций охватывает тот факт, что многие хосты скорее всего будут хотеть предоставить дополнительные сервисы до или после их доступности в ВСТ, и многие пользователи захотят иметь сложные терминалы с элементами изысканности, вместо минимальных, для получения таких дополнительных сервисов. Независимые от, но структурированные в TELNET протоколе различные "опции" санкционированы и могут быть использованы с "DO, DON"T, WILL, WON"T" структурой (обсуждается ниже) для того, чтобы позволить пользователю и серверу сходиться в использовании более продуманного (или отличного) набора соглашений для их TELNET соединения. Такие опции включают изменение набора символов, режима эха, и т.д.
    Базовая стратегия для налаживания использования опций - это на одной из сторон (или на обоих) инициировать запрос: будет ли определенная опция иметь какой либо эффект. Другая сторона может либо принять, либо отвергнуть запрос. Если запрос принимается, то опция немедленно вступает в силу; если же опция отвергается, то связанный аспект соединения остается как специфицировано для ВСТ. Очевидно, что сторона может всегда отвергать запрос на включение, и никогда не должна отвергать запрос на отключение некоторой опции начиная с момента когда стороны договорились о поддержке ВСТ.
    Синтаксис оговоренной опции должен быть таким, чтобы если обе стороны запросят одновременно опцию, то каждый будет рассматривать запрос с другой стороны как положительное подтверждение этой опции.
  3. Симметричность синтаксиса согласования может потенциально привести к бесконечному циклу согласования - когда каждая сторона видит входящие команды не подтверждает их, но для подтверждения посылает новый запрос. Для предотвращения таких циклов, необходимо придерживаться следующих правил:
    • Стороны могут запрашивать только изменение статуса опции; т.е. сторона может не посылать "запрос" только для того, чтобы сообщить, что данная опция поддерживается.
    • Если сторона получает что-то, что интерпретируется как запрос переключения в некоторый режим в котором эта сторона уже находится, то на такой запрос не нужно отправлять подтверждения.
    • Всякий раз, когда одна сторона отправляет команду опции на другую сторону, не важно запрашивая или подтверждая, и использование опции должно иметь какой либо эффект на обработку данных, отсылаемых первой стороной второй стороне, то команда опции должна быть вставлена в потоке данных в том месте, с которого желательно, чтобы опция вступила в силу. (Следует отметить, что пройдет некоторое время между передачей запроса и получением подтверждения, и оно может быть отрицательным. Таким образом, хост может буферизовать данные, после отправки запроса опции и до получения ответа с принятием или отвержением опции, для того, чтобы скрыть "период неопределенности" от пользователя.)

Вероятно, что сразу после установки TELNET соединения, запросы опций будут шквалом передаваться в обоих направлениях соединения, из-за того, что каждая сторона будет пытаться получить наилучший сервис от другой стороны. Кроме того, опции могут быть использованы для динамического изменения характеристик соединения с тем, чтобы соответствовать изменяющимся локальным условиям. Например, ВСТ, как будет описано ниже, использует дисциплину передачи, хорошо подходящую для многих приложений "строка за раз" (таких как BASIC), но плохо подходит для приложений "символ за раз" (таких как NLS). Сервер мог бы выделить дополнительное процессорное время требуемое для дисциплины "символ за раз" если это подходит для локального процесса и договориться о соответствующей опции. Хотя, вместо того, чтобы надолго обременяться дополнительной тратой процессорного времени, можно переключиться (т.е. договориться) вернуться назад к ВСТ, когда детальный контроль больше не требуется.

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

Проектировщики опции не должны себя чувствовать стесненными несколько ограниченным синтаксисом для оговоренной опции. Смысл простого синтаксиса состоит в том, чтобы упростить принятие опции. Если некоторая специфическая опция требует более сложной структуры согласований чем имеющаяся в "DO, DON"T, WILL, WON"T", то необходимо сначала договориться через существующую структуру согласований, а после того, как обе стороны удостоверятся в понимании этой опции, использовать свободно более экзотический синтаксис. Например, одна из сторон могла бы послать запрос на изменение (установку) длинны строки. Если он принимается, то может быть использован отличный от базового синтаксис для того, чтобы фактически договориться о длине строки; такие "под-согласования" могли бы включать поля для минимально, максимально и желательных длин строки. Важно то, что такие расширенные согласования никогда не должны начинаться, пока "стандартные" переговоры не привели к тому, что обе стороны могут понимать расширенный синтаксис.

В итоге, WILL XXX посылается одной из двух сторон, для того чтобы показать желание (предложение) стороны исполнять опцию XXX, DO XXX и DON"T XXX являются подтверждением и отвержением опции XXX соответственно, на запрос WILL XXX; аналогично, DO XXX отправляется для того, чтобы показать желание другой стороны (т.е. получателя DO) начать исполнять опцию XXX, WILL XXX и WON"T XXX являются подтверждением и отвержением опции XXX соответственно, на запрос DO XXX. Так как ВСТ - это то, что остается когда никакие опции не включены, ответы DON"T и WON"T гарантируют что соединение останется в состоянии которым обе стороны могут управлять. Таким образом, все хосты могут реализовать свои TELNET процессы так, чтобы они вообще не знали об опциях которые не поддерживаются, просто возвращая отвержение (т.е. отказываясь от опции) на любой запрос опции, которую данный процесс не может понять.

Протокол TELNET был сделан максимально симметричным по отношению к связке пользователь-сервер, для того, чтобы он легко и естественно покрывал случаи пользователь-пользователь и сервер-сервер. Желательно, но не обязательно, чтобы опции сохраняли этот принцип. В любом случае явно признается, что симметрия - это принцип, а не правило.

Сопутствующий документ "TELNET Option Specifications" предназначен для того, чтобы черпать из него информацию о процедуре написания новых опций.

Виртуальный Сетевой Терминал

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

Передача данных

Хотя сетевому TELNET подключению свойственен полный дуплекс, ВСТ должен рассматриваться как полудуплексное устройство, работающее в буферизированном строковом режиме. Таким образом пока стороны не договорились об опциях, следующие условия должны выполняться по умолчанию для передачи данных по TELNET соединению:

  1. Насколько позволяет локальный размер буфера, данные должны накапливаться на том хосте, где они вводятся, до тех пор пока не будет готова к передаче полная строка данных или пока не будет подан явный локальный сигнал к передаче. Этот сигнал может быть сгенерирован процессом или человеком.
    Причиной этого правила является высокая стоимость обработки входящих сетевых прерываний для некоторых хостов, а так же заданное спецификацией ВСТ "эхо" которое не должно передаваться через cеть. Таким образом кажется разумным буферизовать некоторое количество данных на стороне их источника. Многие системы предпринимают некоторые действия по обработке в конце каждой входящей строки (например, устройства построчной печати) и таким образом передача данных должна быть инициирована в конце строки. С другой стороны, пользователю или процессу может иногда понадобиться передать данные, которые не заканчиваются переводом строки и поэтому необходимо предусмотреть методы, которыми можно передать все буферизированные локальные данные немедленно.
  2. Когда процесс завершил отправку данных на принтер ВСТ и не имеет никакого очередного ввода с клавиатуры ВСТ для дальнейшей обработки (т.е., в случае когда процесс на одном конце TELNET соединения не может продолжить без входящих данных с другой стороны) он должен передать команду Go Ahead (GA).
    Это правило не является обязательным и не требует, чтобы команда GA отправлялась в конце каждой строки, так как серверы обычно не требуют специального сигнала (в дополнение к концу строки или другим локально определенным символам) чтобы начать обработку. Правильнее будет сказать, что команда TELNET GA сделана, чтобы помочь локальному компьютеру пользователя управлять физическим полудуплексным терминалом (например, IBM 2741) у которого есть "блокируемая" клавиатура. Описание этого терминала может помочь в понимании правильного использования команды GA.
    Соединение терминал-компьютер всегда находится под контролем пользователя или компьютера. Ни один не может в одностороннем порядке захватить контроль над другим. На стороне терминала аппаратные средства реализованы так, чтобы отдавать контроль всякий раз, когда "строка" закончена (т.е. когда клавиша "конец строки" нажата пользователем). И когда это происходит, присоединенный (локальный) компьютер обрабатывая входные данные, решает, должен ли генерироваться вывод и если не должен, возвращает контроль терминалу. Если вывод должен генерироваться, то контроль сохраняется за компьютером пока все данные не будут переданы.
    Трудности использования терминала такого типа по сети очевидны. "Локальный" компьютер более не в состоянии решить, сохранять ли контроль или нет после того, как был обнаружен сигнал конца строки; это решение может быть принято только "удаленным" компьютером, который обрабатывает данные. Поэтому команда TELNET GA обеспечивает механизм, посредством которого "удаленный" (сервер) компьютер может сообщить "локальному" (пользователю) компьютеру, что настало время передачи управления пользователю терминала. Это должно быть передано тогда и только тогда, когда пользователь должен контролировать терминал. Отметим, что преждевременная отправка команды GA, может привести к блокированию вывода, так как пользователь, вероятно, будет предполагать, что передающая система сделала паузу и поэтому он вряд ли введет перевод строки вручную.

Вышесказанное, конечно, не относится к направлению соединения пользователь-сервер. В этом направлении, GA можно отправить в любой время, но эта команда в этом направлении никогда не должна посылаться. Кроме того, если TELNET соединение используется для коммуникации типа процесс-процесс, то команду GA нельзя отправлять ни в одном из направлений. И в заключении, для соединения терминал-терминал, команда GA может не потребоваться в одном или обоих направлениях. Если хост планирует поддерживать соединение типа терминал-терминал, предполагается, что такой хост предоставит пользователю возможность вручную сообщить, когда нужно отправить команду GA; это требование не является обязательным для реализующего сторону типа "процесс".

Отметим, что симметричная модель TELNET требует, по крайней мере концептуально, чтобы ВСТ присутствовал на каждом конце TELNET соединения.

Стандартное представление управляющих функций

Как уже говорилось во Введении к этому документу, основная цель протокола TELNET - это обеспечить стандартный сетевой интерфейс терминальным устройствам и терминал-ориентированным процессам. Ранний опыт с этим типом соединения показал, что определенные функции осуществимы для большинства серверов, а вот методы вызова этих функций достаточно широко различаются. Для человека, который взаимодействует с несколькими серверными системами, эти отличия представляют достаточно большое неудобство. Поэтому ниже будет приведено стандартное представление для пяти функций. Эти стандартные представления являются стандартом, но не требуются в обязательном порядке (за исключением функции Interrupt Process (IP), которая может понадобиться другим протоколам, которые используют TELNET); то есть система, которая не предоставляет функцию локальным пользователям не должна предоставлять ее и сетевым пользователям и может обрабатывать стандартное представление для функции как пустую команду (No-operation). С другой стороны, система, которая предоставляет функцию локальному пользователю, обязана предоставлять ту же самую функцию и сетевому пользователю, который передает стандартное представление для функции.

Interrupt Process (IP)

Многие системы предоставляют функцию которая приостанавливает, прерывает, аварийно прекращает или обрывает деятельность пользовательского процесса. Эта функция часто используется, когда пользователь полагает, что его процесс находится в бесконечном цикле или когда был активизирован нежелательный процесс. IP - это стандартное представление для вызова этой функции. Необходимо отметить, что IP может потребоваться другим протоколам, которые используют TELNET, и поэтому эта функция должна быть реализована, если такие протоколы поддерживаются реализацией.

Abort Output (AO)

Многие системы предоставляют функцию, которая позволяет процессу, который генерирует вывод, завершаться (или достигнуть той же самой точки останова, которой он бы достиг, если бы добрался до завершения), но без отправки вывода на пользовательский терминал. Затем, эта функция обычно очищает любой уже произведенный вывод, но еще фактически не напечатанный (или отображенный) на терминале пользователя. AO - это стандартное представление для того, чтобы вызвать эту функцию. Например, некоторая подсистема могла бы принять команду пользователя, послать длинную текстовую строку на терминал пользователя как ответ, и наконец сообщить о готовности принять следующую команду, посылая символ "prompt" (упреждая его) на пользовательский терминал. Если бы AO была получена во время передачи текстовой строки, то реализация должна былв бы подавить остаток текстовой строки, но передать символ prompt упреждающие. (Это отличается от действия, которое могло быть предпринято, при получении IP; IP мог бы вызвать подавление текстовой строки и выход из подсистемы.)

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

Are You There (AYT)

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

Erase Character (EC)

Многие системы предоставляют функцию, которая удаляет последний символ перед не удаляемым символом или "позицией печати" из потока данных поставляемого пользователем. Эта функция обычно используется, чтобы редактировать ввод с клавиатуры, когда были сделаны ошибки при печати. EC - стандартное представление для того, чтобы вызвать эту функцию.

Примечание : "Позиция печати" может содержать несколько символов, которые являются результатом наложений, или последовательностей, таких как BS ...

Erase Line (EL)

Многие системы предоставляют функцию, которая удаляет все данные в текущей "строке" ввода. Эта функция обычно используется, чтобы редактировать ввод с клавиатуры. EL стандартное представление для того, чтобы вызвать эту функцию.

Сигнал "Synch"

Многие системы с разделением времени (многозадачные системы) предоставляют механизмы, которые позволяют пользователю терминала восстанавливать управление над "бесконечным" процессом; функции IP и AO, описанные выше, являются примерами этих механизмов. Такие системы, когда они используются локально, имеют доступ ко всем сигналам которые вводит пользователь, являются ли они обычными символами или специальными сигналами, такими как поддерживаемая телетайпом кнопка "BREAK" или IBM 2741 кнопка "ATTN". Это не всегда так, когда терминалы подключены к системе через сеть; сетевые механизмы могут заставить такой сигнал быть забуферизированным в другом месте, например на хосте пользователя.

Чтобы решить эту проблему, в TELNET был введен механизм "Synch". Сигнал Synch включается в TCP Urgent notification (срочное уведомление) вместе с TELNET командой DATA MARK. Срочное уведомление, которое не подвергается дополнительному управлению сетевыми механизмами, управляющие TELNET соединением, используется, чтобы вызвать специальную обработку потока данных процессом, который получает эти данные. В этом режиме поток данных будет немедленно просканирован на предмет "интересных" сигналов как описано ниже, отказываясь от пришедших данных. TELNET команда DATA MARK (DM) является меткой синхронизации в потоке данных, которая указывает, что некоторый специальный сигнал уже попался и получатель может возвратиться к нормальной обработке потока данных.

Synch отправляется через TCP отправкой операции с флагом Urgent и DM как последним октетом данных.

Когда несколько Synch отправляются как непрерывная последовательность, срочные уведомления могут быть объединены. Невозможно посчитать количество срочных уведомлений, так как количество полученных будет меньше или равно количеству отправленных. В обычном режиме, DM не имеет действия; в срочном режиме, он сообщает конец срочной (urgent) обработки.

Если TCP указывает на конец срочных (urgent) данных раньше, чем будет найден DM, TELNET должен продолжить специальную обработку потока данных, пока не встретиться DM.

Если TCP указывает на то, что срочные (urgent) данные еще есть, после того как найдет DM, то такое может случиться из-за следующего Synch. TELNET должен продолжить специальную обработку данных, пока другой DM не будет найден.

"Интересные" сигналы определены, чтобы быть: стандартными TELNET представлениями IP, AO и AYT (но не EC или EL); локальными аналогами этих стандартных представлений; всеми другими TELNET командами; другими определенными по месту сигналами которые могут задействоваться без задержки сканирования потока данных.

Так как один из эффектов механизма SYNCH - это отказ от всех символов (исключая TELNET команды) между отправителем Synch и получателем, то этот механизм определен как стандартный путь очистки данных. Например, если пользователь в терминале передает AO, сервер, который получает AO (если он вообще обеспечивает эту функцию) должен вернуть пользователю Synch.

В итоге, так же как TCP Urgent notification требуется уровень TELNET как сигнал out-of-band, так и другим протоколам использующим TELNET, могут понадобиться TELNET команды, которые могут рассматриваться как out-of-band сигналы на различном уровне.

В соответствии с соглашением последовательность должна использоваться как такой сигнал. Например, предположим, что некоторый другой протокол, который использует TELNET, определяет строковую строку STOP аналогично TELNET команде AO. Предположим, что пользователь этого протокола желает, чтобы сервер обработал строку STOP, но соединение блокировано, потому что сервер обрабатывает другие команды. Пользователь должен проинструктировать свою систему:

  1. Отправить символ TELNET IP;
  2. Отправить последовательность TELNET SYNCH, которая состоит из:
    Отправки Data Mark (DM) как единственного символа который посылается в срочном режиме TCP.
  3. Отправка символьной строки STOP; и
  4. Отправка аналога TELNET DM для другого протокола, если требуется.

Пользователь (или процесс действующий от его имени) должен передать последовательность TELNET SYNCH на шаге 2, чтобы гарантировать, что TELNET IP пройдет на серверном интерпретаторе TELNET.

Срочное уведомление должно разбудить процесс TELNET; IP должен разбудить следующий высокоуровневый процесс.

Принтер и клавиатура ВСТ

Принтер ВСТ имеет неопределенную ширину каретки и длину страницы и может произвести представление всех 95 USASCII график символов (коды с 32 по 126). Только следующие из 33 управляющих кодов USASCII (от 0 до 31, а так же 127), и 128 открытых кодов (128-255) имею смысл для принтера ВСТ:

Кроме того, следующие коды должны быть определены, но не требуют эффекта от принтера ВСТ. Ни на какое из концов TELNET соединения не может предполагать, что другая сторона будет что-то предпринимать при получении или передачи следующего:

Название Код Описание
BELL (BEL) 7 Производит аудио или видеосигнал (но НЕ перемещает головку принтера).
Back Space (BS) 8 Перемещает головку принтера на один символ по направлению к левой границе.
Horizontal Tab (HT) 9 Перемещает принтер на следующую остановку горизонтальной табуляции. Остается неопределенным как сторона определяет и устанавливает эти остановки табуляции.
Vertical Tab (VT) 11 Перемещает принтер на следующую остановку вертикальной табуляции. Остается неопределенным как сторона определяет и устанавливает эти остановки табуляции.
Form Feed (FF) 12 Перемещает принтер к верхней части следующей страницы, оставаясь на той же горизонтальной позиции.

Все остальные коды не должны заставлять ВСТ предпринимать какие либо действия.

Последовательность "CR LF", как определено, заставит ВСТ перейти на крайнюю левую позицию следующей строки печати (так же как, например, последовательность "LF CR"). Однако, есть много систем и терминалов которые не обрабатывают CR и LF независимо, и нужно потратить некоторые усилия, чтобы смоделировать этот эффект. (Например, у некоторых терминалов нет независимого CR от LF, но на таких терминалах можно реализовать CR через backspacing.) Поэтому, последовательность "CR LF" должна обрабатываться как единый символ "новая строка" и использоваться всякий раз, когда требуется их объединенное действие; последовательность "CR NUL" должна использоваться, где требуется требуется только возврат каретки; и использования символа CR следует избегать в других контекстах. Это правило дает гарантию системам, которые должны решить, выполнять ли функцию "новая строка" или выполнять множественный backspace когда TELNET поток содержит символ CR, принять рациональное решение.

Примечание: Последовательности "CR LF" или "CR NUL" должны использоваться в обоих направлениях (в режиме ASCII по умолчанию), для сохранения симметрии ВСТ. И даже в том случае если известно (например, с удаленным эхом или эффектом подавления опции Go Ahead), что символы не передаются на реальный принтер, для согласованности, протокол требует, чтобы NUL был вставлен после CR, не сопровождаемого переводом строки в потоке данных. Обратная сторона того, что NUL будет получен в потоке данных после CR (если отсутствуют согласованные опции, которые определяют иное поведение), это то, что NUL должен быть удален до применения ВСТ к локальному набору символов.

Клавиатура ВСТ должна имеет клавиши, или комбинации клавиш, или последовательности клавиш для воспроизведения всех 128 кодов USASCII. Отметим, что хотя некоторые из них не будут иметь никакого эффекта для принтера ВСТ, клавиатура ВСТ способна их генерировать.

В доплнение к этим кодам, клавиатура ВСТ должна быть способна к генерации следующих дополнительных кодов, исключая, как было описано, определенные, но не требуемые значения. Фактическое определение кодов для этих "символов" находится в разделе "Команды TELNET", потому, что они рассматриваются как данность и являются в некотором сиысле универсальными и должны быть доступны даже когда поток данных интерпретируется в другой кодировке.

Название Описание
Synch Эта клавиша позволяет пользователю очищать свой информационный канал на другой стороне. Активация этой клавиши отправляет DM (смотри раздел команд) в поток данных и TCP Urgent notification которое связанно с DM.
Break (BRK) Этот код предоставляется из-за того, что он вне набора USASCII, который в настоящее время используется на многих локальных системах. Этот код предназначен для указания того, что нажата одна из кнопок "Break" или "Attention". Стоит отметить, что это определено, чтобы обеспечить 129-ый код для систем, которые этого требуют, но не как синоним для представления стандартного IP.
Interrupt Process (IP) Приостанавливает, прерывает, аварийно прекращает или завершает процесс к которому подключен ВСТ. Кроме того, он может быть использован как часть out-of-band сигнала для других протоколов, которые используют TELNET.
Abort Output (AO) Позволяет текущему процессу выполниться до конца, но не отправляет его вывод пользователю. Так же отправляет сигнал Synch пользователю.
Are You There (AYT) Отправляет назад на ВСТ некоторый видимое доказательство того, что AYT был получен.
Erase Character (EC) Получатель должен удалить последний символ, предшествующий "неудаляемому символу" или "позиции печати", из потока данных.
Erase Line (EL) Получатель должен удалить символы из потока данных до (но не включая) последней последовательности "CR LF".

Смысл этих "дополнительных" клавиш, а так же исполнительных элеменов принтера в том, что они должны представлять естественное расширение отображения, которое обязательно должно присутствовать в "ВСТ" и "локальной системе". Так же как байт данных ВСТ 68 (104 в восьмеричной системе) должен быть отображен в локальный код для "заглавной D", так же и символ EC должен быть отображен в то, что локально отвечает за функцию "удаление символа". Далее, так же как отображение для 124 (174 в восьмеричной системе) в некоторых системах интерпретируется несколько произвольно как символ "вертикальной полосы", так и символ EL может иметь несколько произвольную трактовку отображения (или не иметь отображения вообще) если не имеется никакой локальной функции "Стирания строки". Подобное истинно и для других исполнительных элементов формата: если терминал имеет "вертикальную табуляцию", то отображение для VT очевидно, а если терминал не имеет вертикальной табуляции, то еффект VT непредсказуем.

Структура TELNET команд

Все команды TELNET состоят по крайне мере из двухбайтовой последовательности: эскейп символа "Interpret as Command" (IAC) и кода команды. Команды, отвечающие за договоренности по опции, являются трехбайтовыми последовательностями, где третий байт является кодом опции. Такой формат был выбран для более полного использования "пространства данных" - при общении с базовым ВСТ, и соответственно колизии байт данных с получаемыми командами сведены к минимуму. С текущей структурой только IAC требует удвоения, чтобы он воспринимался как данные, а другие 255 кодов могут быть отправлены как есть.

Название Код Описание
SE 240 Конец параметров подчиненных договоренностей.
NOP 241 Нет операции.
Data Mark 242 Часть потока данных Synch. Эта команда всегда сопровождается TCP Urgent notification.
Break 243 ВСТ символ BRK.
Interrupt Process 244 Функция IP.
Abort output 245 Функция AO.
Are You There 246 Функция AYT.
Erase character 247 Функция EC.
Erase Line 248 Функция EL.
Go ahead 249 Сигнал GA.
SB 250 Указывает на то, что все что идет далее, является подчиненными договоренностями обозначенной опции.
WILL (option code) 251 Указывает на желание исполнять или подтверждает, что сейчас исполняется указанная опция.
WON"T (option code) 252 Указывает на отказ начать или продолжить исполнять указанную опцию.
DO (option code) 253 Запрос на то, чтобы другая сторона исполнила или подтвердила исполнение указанной опции.
DON"T (option code) 254 Требование на то, чтобы другая сторона остановила исполнение или подтвердила то, что указанная опция более не исполняется.
IAC 255 Байт данных 255.

Установление соединения

TELNET TCP соединение устанавливается между пользовательским портом U и серверным портом L. Сервер слушает свой порт L для того, чтобы установить такие соединения. Так как соединение TCP - это полный дуплекс и идентифицируется парой портов, сервер может участвовать одновременно во многих соединениях вовлекающих его порт L и различные пользовательские порты U.

Назначение порта

Если протокол используется для удаленного доступа пользователя к сервисам хоста (т.е. удаленный терминальный доступ) то он назначается на порт 23 (27 в восьмеричной системе). Т.е. L=23.

Применения

Исторически Telnet служил для удалённого доступа к интерфейсу командной строки операционных систем . Впоследствии его стали использовать для прочих текстовых интерфейсов, вплоть до игр MUD и анимированного ASCII-art . Теоретически, даже обе стороны протокола могут являться программами, а не человеком.

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

Протокол telnet используется в управляющем соединении

Безопасность

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

Команды telnet позволяют связаться с удаленным компьютером, использующим протокол Telnet. Можно выполнить команду telnet без параметров для входа в контекст telnet, обозначенный в командной строке Telnet (telnet ). В командной строке Telnet используйте следующие команды для управления компьютером, на котором выполняется клиент Telnet.

Команды tlntadmn позволяют удаленно управлять компьютером, на котором выполняется сервер Telnet. Эти команды выполняются из командной строки. Команда tlntadmn без параметров отображает настройку локального сервера.

Чтобы использовать команды telnet из командной строки Telnet

Чтобы запустить клиент Telnet и ввести командную строку Telnet

Синтаксис

telnet [\\ удаленный_сервер ]

Параметры \\ удаленный_сервер Отображает имя подключаемого сервера /?

  • При использовании команды telnet без параметров запускается клиент Telnet.
  • В командной строке Telnet необходимо использовать команды Telnet.

Чтобы остановить клиент Telnet

Синтаксис

Параметры

отсутствуют

Примечания

  • Допускается сокращение этой команды до q .

Чтобы подключить клиент Telnet к удаленному компьютеру

Синтаксис

open [\\ удаленный_сервер ] [порт ]

Параметры \\ удаленный_сервер порт Указывает используемый порт. Если порт не указан, используется порт по умолчанию. Примечания

  • Допускается сокращение этой команды до o .
Примеры

Чтобы подключиться к удаленному серверу Redmond через порт 44, введите в командную строку: o redmond 44

Чтобы отключить клиент Telnet от удаленного компьютера

Синтаксис

close [\\ удаленный_сервер ]

Параметры \\ удаленный_сервер Указывает имя управляемого сервера. Если сервер не указан, используется локальный сервер. Примечания

  • Допускается сокращение этой команды до c .
Примеры

Чтобы отключиться от удаленного сервера 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 } Задает режим работы. ? Позволяет просматривать полный синтаксис команды. Примечания

  • Чтобы отключить назначенный ранее параметр, в командной строке Telnet, введите:

    unset [параметр ]

  • Чтобы назначить управляющий символ, введите команду:

    -e символ

  • В версиях Telnet, отличных от английской, доступна команда codeset параметр . Codeset параметр задает текущий кодовый набор для параметра, который может быть одним из следующих: Shift JIS , Japanese EUC , JIS Kanji, JIS Kanji (78) , DEC Kanji , NEC Kanji . Необходимо назначить такой же кодовый набор на удаленном компьютере.

Чтобы отправить команды клиента Telnet

Синтаксис

send [\\ удаленный_сервер ] [ao ] [ayt ] [esc ] [ip ] [synch ] [? ]

Параметры \\ удаленный_сервер Имя сервера, к управлению которым требуется перейти. Если сервер не указан, используется локальный сервер. ao Отменяет команду ввода. ayt Посылает команду "Вы на месте?" esc Отправляет текущий управляющий знак. ip Прерывает выполнение команды обработки. synch Выполняет операцию синхронизации Telnet. ? Позволяет просматривать полный синтаксис команды.

Чтобы посмотреть текущие параметры клиента Telnet

Синтаксис display

Параметры

Отсутствуют

Примечания

  • Данная команда выводит текущие рабочие параметры для клиента Telnet. При работе в режиме сеанса Telnet (другими словами, при подключении к серверу Telnet), можно выйти из сеанса для изменения параметров, нажав клавиши CTRL+]. Для возвращения в сеанс Telnet нажмите клавишу ENTER.

Чтобы использовать команды tlntadmn из командной строки

Чтобы администрировать компьютер, на котором выполняется сервер Telnet/P>Синтаксис

tlntadmn [\\ удаленный_сервер ] [start ] [stop ] [pause ] [continue ]Параметры \\ удаленный_сервер Указывает имя сервера, к управлению которым требуется перейти. Если сервер не указан, используется локальный сервер. start Запускает сервер Telnet. stop Останавливает сервер Telnet. pause Прерывает работу сервера Telnet. continue Возобновляет работу сервера Telnet. /?

  • С помощью команд tlntadmn tlntadmn

Чтобы администрировать сеансы Telnet

Синтаксис

tlntadmn [\\ удаленный_сервер ] [-s ] [-k {код_сеанса | all }] [-m {код_сеанса |all } " сообщение " ]

Параметры \\ удаленный_сервер -s Отображает активные сеансы Telnet. -k {код_сеанса | all } Завершает сеансы. Введите код сеанса для завершения конкретного сеанса или введите all для завершения всех сеансов. -m {код_сеанса | all } " сообщение " Отправляет сообщение в один или несколько сеансов. Введите код сеанса для отправки сообщения в конкретный сеанс или введите all для отправки сообщения во все сеансы. Введите сообщение, которое нужно послать, в кавычках (т. е. " сообщение " ). /? Отображает справку в командной строке. Примечания

  • С помощью команд tlntadmn можно удаленно администрировать компьютер, на котором запущен сервер Telnet, если оба компьютера работают под управлением Windows XP. Команды tlntadmn не могут быть использованы для удаленного администрирования сервера Telnet, работающего под управлением Windows 2000, с компьютера, работающего под управлением Windows XP.

Чтобы установить параметры журнала событий для компьютера, на котором выполняется сервер Telnet

Синтаксис

tlntadmn [\\ удаленный_компьютер ] config [auditlocation= {eventlog | file | both }][audit= [{+ | - }admin ][{+ | - }user ][{+ | - }fail ]]

Параметры \\ удаленный_сервер auditlocation= {eventlog | file | both } Указывает, следует ли отправлять сведения о событиях в окно просмотра событий, в файл или в оба места. audit= [{+ | - }admin ][{+ | - }user ][{+ | - }fail ] Указывает, для каких событий требуется аудит (события регистрации администратора, события регистрации пользователя или неудачные попытки регистрации). Чтобы задать аудит событий конкретного типа, введите знак "плюс" (+) перед данным типом событий. Чтобы остановить аудит событий конкретного типа, введите знак "минус" (-) перед данным типом событий. /?

  • С помощью команд tlntadmn можно удаленно администрировать компьютер, на котором запущен сервер Telnet, если оба компьютера работают под управлением Windows XP. Команды tlntadmn не могут быть использованы для удаленного администрирования сервера Telnet, работающего под управлением Windows 2000, с компьютера, работающего под управлением Windows XP.
  • Если указано, куда отправить сведения о событии без определения типа или типов сведений для аудита, только для сведений о событиях регистрации администратора будет проводиться аудит и отправка в указанное место.
Примеры

Для отправки информации о событиях в окно просмотра событий введите:

tlntadmn config auditlocation=eventlog

Для аудита событий регистрации администратора и неудачных попыток регистрации введите:

tlntadmn config audit=+admin +fail

Чтобы задать основной домен для компьютера, на котором выполняется сервер Telnet

Синтаксис

tlntadmn [\\ удаленный_сервер ] config [dom= имя_домена ]Параметры \\ удаленный_сервер Указывает имя сервера, к управлению которым требуется перейти. Если сервер не указан, используется локальный сервер. dom= имя_домена Указывает домен, который требуется сделать основным. /? Отображает справку в командной строке. Примечания

  • С помощью команд tlntadmn можно удаленно администрировать компьютер, на котором запущен сервер Telnet, если оба компьютера работают под управлением Windows XP. Команды tlntadmn не могут быть использованы для удаленного администрирования сервера Telnet, работающего под управлением Windows 2000, с компьютера, работающего под управлением Windows XP.
Примеры

Чтобы сделать домен Redmond основным доменом на локальном сервере, введите:

tlntadmn config dom=Redmond

Чтобы сопоставить клавишу ALT для компьютера, на котором выполняется сервер Telnet

Синтаксис

tlntadmn [\\ удаленный_сервер ] config [ctrlakeymap= {yes | no }]

Параметры \\ удаленный_сервер Указывает имя сервера, к управлению которым требуется перейти. Если сервер не указан, используется локальный сервер. ctrlakeymap= {yes | no } Указывает, требуется ли интерпретация сервером Telnet сочетания клавиш CTRL+A как ALT. Введите yes для сопоставления сочетания клавиш или no для отказа от сопоставления. /? Отображает справку в командной строке. Примечания

  • С помощью команд tlntadmn можно удаленно администрировать компьютер, на котором запущен сервер Telnet, если оба компьютера работают под управлением Windows XP. Команды tlntadmn не могут быть использованы для удаленного администрирования сервера Telnet, работающего под управлением Windows 2000, с компьютера, работающего под управлением Windows XP.
  • Если клавиша ALT не сопоставлена, сервер Telnet не отправляет нажатие клавиши ALT в приложения, где это может потребоваться.

Чтобы задать максимальное число подключений для компьютера, на котором выполняется сервер Telnet

Синтаксис

tlntadmn [\\ удаленный_сервер ] config [maxconn= положительное_целое ]

Параметры \\ удаленный_сервер Указывает имя сервера, к управлению которым требуется перейти. Если сервер не указан, используется локальный сервер. maxconn= положительное_целое Устанавливает максимальное число подключений. Этот номер можно указать с помощью любого положительного целого меньше 10 миллионов. /? Отображает справку в командной строке. Примечания

  • С помощью команд tlntadmn можно удаленно администрировать компьютер, на котором запущен сервер Telnet, если оба компьютера работают под управлением Windows XP. Команды tlntadmn не могут быть использованы для удаленного администрирования сервера Telnet, работающего под управлением Windows 2000, с компьютера, работающего под управлением Windows XP.

Чтобы задать максимальное число неудачных попыток доступа для компьютера, на котором выполняется сервер Telnet

Синтаксис

tlntadmn [\\ удаленный_компьютер ] config [maxfail= положительное_целое ]

Параметры \\ удаленный_сервер Указывает имя сервера, к управлению которым требуется перейти. Если сервер не указан, используется локальный сервер. maxfail= положительное_целое Задает максимальное разрешенное число неудачных попыток входа для пользователя. Этот номер можно указать с помощью любого положительного целого меньше 100. /? Отображает справку в командной строке. Примечания

  • С помощью команд tlntadmn можно удаленно администрировать компьютер, на котором запущен сервер Telnet, если оба компьютера работают под управлением Windows XP. Команды tlntadmn не могут быть использованы для удаленного администрирования сервера Telnet, работающего под управлением Windows 2000, с компьютера, работающего под управлением Windows XP.

Чтобы задать режим работы для компьютера, на котором выполняется сервер Telnet

Синтаксис

tlntadmn [\\ удаленный_сервер ] config [mode= {console | stream }]

Параметры \\ удаленный_сервер mode {console | stream } Указывает режим работы. /? Отображает справку в командной строке. Примечания

  • С помощью команд tlntadmn можно удаленно администрировать компьютер, на котором запущен сервер Telnet, если оба компьютера работают под управлением Windows XP. Команды tlntadmn не могут быть использованы для удаленного администрирования сервера Telnet, работающего под управлением Windows 2000, с компьютера, работающего под управлением Windows XP.

Чтобы задать порт Telnet для компьютера, на котором выполняется сервер Telnet

Синтаксис

tlntadmn [\\ удаленный_сервер ] config [port= целое_значение ]

Параметры \\ удаленный_сервер Указывает имя сервера, к управлению которым требуется перейти. Если сервер не указан, используется локальный сервер. port= целое_значение Задает порт Telnet. Порт можно указать с помощью любого целого меньше 1 024. /? Отображает справку в командной строке. Примечания

  • С помощью команд tlntadmn можно удаленно администрировать компьютер, на котором запущен сервер Telnet, если оба компьютера работают под управлением Windows XP. Команды tlntadmn не могут быть использованы для удаленного администрирования сервера Telnet, работающего под управлением Windows 2000, с компьютера, работающего под управлением Windows XP.

Чтобы задать методы проверки подлинности для компьютера, на котором выполняется сервер Telnet

Синтаксис

tlntadmn [\\ удаленный_сервер ] config [sec= [{+ | - }ntlm ][{+ | - }passwd ]]Параметры \\ удаленный_сервер Указывает имя сервера, к управлению которым требуется перейти. Если сервер не указан, используется локальный сервер. sec= [{+ | - }ntlm ][{+ | - }passwd ] Определяет использование проверки подлинности NTML или пароля, или одновременое их применение для проверки подлинности попыток входа. Чтобы использовать конкретный тип проверки подлинности, введите знак (+) перед данным типом проверки. Чтобы предотвратить использование проверки подлинности определенного типа, введите знак (-) перед этим типом. /? Отображает справку в командной строке. Примечания

  • С помощью команд tlntadmn можно удаленно администрировать компьютер, на котором запущен сервер Telnet, если оба компьютера работают под управлением Windows XP. Команды tlntadmn не могут быть использованы для удаленного администрирования сервера Telnet, работающего под управлением Windows 2000, с компьютера, работающего под управлением Windows XP.
  • NTML - это протокол проверки подлинности для транзакций между двумя компьютерами, один из которых или оба находятся под управлением Windows NT 4.0 и более ранних версий. Кроме того, протокол проверки подлинности NTML используется для компьютеров, не входящих в домен, таких как независимые серверы и рабочие группы.

Чтобы задать таймаут простоя сеансов для компьютера, на котором выполняется сервер Telnet

Синтаксис

tlntadmn [\\ удаленный_сервер ] config [timeout= чч : мм : сс ]

Параметры \\ удаленный_сервер Указывает имя сервера, к управлению которым требуется перейти. Если сервер не указан, используется локальный сервер. timeout= чч : мм : сс Задает значение истечения времени в часах, минутах и секундах. /? Отображает справку в командной строке. Примечания

  • С помощью команд tlntadmn можно удаленно администрировать компьютер, на котором запущен сервер Telnet, если оба компьютера работают под управлением Windows XP. Команды tlntadmn не могут быть использованы для удаленного администрирования сервера Telnet, работающего под управлением Windows 2000, с компьютера, работающего под управлением Windows XP.
Примечания
  • Чтобы переключиться с клиента Telnet в режим команд, в командной строке Telnet нажмите сочетание клавиш CTRL+]. Для обратного перехода к клиенту Telnet, нажмите клавишу ENTER.

Прогресс - явление, не знающее остановок. В области информационных технологий изменения происходят каждый день: появляются новые продукты, уходят в прошлое отжившие свое сервисы. Но есть инструменты, которые до сих пор пользуются популярностью несмотря на появившуюся альтернативу. Ярким примером является протокол 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 используется до сих пор в таких сферах, как подключение к базам данных, проверка доступности сетевых устройств (маршрутизаторов и коммутаторов), серверного оборудования и т. д.

Данный сервис обеспечивает взаимодействие с удаленным компьютером. Он позволяет превратить компьютер пользователя в удаленный терминал другого компьютера. Поэтому данный сервис еще называют эмуляцией удаленного терминала . Терминал от обычного компьютера отличается тем, что не выполняет собственные вычисления. Все, что вводится на клавиатуре рабочей станции, передается удаленному компьютеру, а получаемые результаты передаются обратно и выводятся на монитор рабочей станции. В качестве удаленных компьютеров, в основном, используются машины, работающие под управлением операционной системы UNIX [Юникс]. Поэтому для работы в режиме удаленного терминала требуется знание основных команд данной операционной системы. С развитием графических операционных систем, таких, как Windows, командный режим работы стал менее популярен, и сервис Telnet в последнее время большинство пользователей не применяют. Многие информационные системы, ранее доступные исключительно с помощью Telnet , сегодня доступны из Всемирной паутины, о которой речь пойдет ниже.

Установив связь с помощью Telnet , пользователь получает возможность работать с удаленным компьютером, как со "своим", т.е. теоретически получить в свое распоряжение все ресурсы, если к ним разрешен доступ. Реально Telnet предоставляет открытый доступ, но организация взаимодействия полностью определяется удаленным компьютером. Два вида услуг Internet требуют подключения к серверам через Telnet : библиотечные каталоги и электронные доски объявлений (BBS).

Работа с удаленной системой может вестись в "прозрачном" режиме, когда программы на сервере и у клиента только обеспечивают протокол соединения, и в командном, когда клиент получает в свое распоряжение набор команд сервера. Следует заметить, что из соображений безопасности намечается тенденция сокращения числа узлов Internet, позволяющих использовать Telnet для подключения к ним.

Отложенное общение в Интернете Электронная почта - e-mail

Это наиболее старая и одна из самых массовых служб Сети. Ее назначение - поддержка обмена электронными письмами между пользователями. По своей сущности электронная почта - это система обмена электронными сообщениями в компьютерных сетях (в режиме отложенного общения -offline). Схема работы электронной почты отражена на Рис. 2. Почтовый сервер - это своеобразное почтовое отделение, куда поступает входящая и исходящая корреспонденция зарегистрированных на нем пользователей. Эта корреспонденция помещается в «почтовые ящики» пользователей - специально отведенные разделы на жестком диске. Каждый пользователь получает персональный почтовый адрес, по которому к нему будут поступать письма. Следует отметить, что адреса электронной почты несколько отличаются от других адресов Интернета, но очень похожи. Они состоят из двух частей, разделенных символом @. Справа от символа располагается Интернет-адрес компьютера, на котором располагается почтовое отделение абонента. Этот адрес формируется так же, как и любое другое доменное имя в Интернете. Слева от символа @ расположено имя абонента. Примером почтового адреса может служить: [email protected].

Рис. 2. Схема функционирования электронной почты

Для того, чтобы эта служба стала доступной пользователю, необходимо выполнить ряд процедур. Сначала пользователь должен зарегистрироваться на почтовом сервере. При этом фиксируется адрес клиента электронной почты и пароль – набор символов, позволяющий идентифицировать пользователя. Наличие пароля обеспечивает конфиденциальность данной услуги. Зарегистрированный пользователь имеет возможность написать текст письма, указав адрес получателя. Для этого в состав клиент-программы электронной почты включен редактор подготовки писем. Подготовленные письма помещаются в папку «Исходящие». Сервер, принимает все письма из папки «Исходящие» и, кроме того, передает поступившие письма, которые помещаются в папку «Входящие». Соединение пользователя с почтовым сервером необходимо только для передачи письма и доставки на компьютер пользователя писем из папки входящие. Почтовый сервер работает постоянно. Он периодически просматривает «почтовые ящики» и организует передачу по сети исходящих писем. Входящую корреспонденцию почтовый сервер раскладывает по «ящикам».

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

· подготовка и редактирование писем,

· организация адресной книги,

· просмотр почтового архива,

· сортировка и удаление писем из почтового архива и пр.

Популярным клиентом E-mail является программа Outlook Express, входящая в стандартную поставку операционной системы MS Windows.

Cервер и клиент электронной почты работают по разным протоколам. Сервер программа POP3 (Post Office Protocol - протокол почтового отделения) кроме всего прочего выполняет функцию защиты информации. Во время сеанса связи она устанавливает личность пользователя, обеспечивает связь с его персональным ящиком. При работе клиент-программы никакого установления личности не требуется. Ее задача - передать на сервер исходящие письма и принять поступившие. Здесь используется более простой протокол SMTP (Simple Mail Transfer Protocol - простейший протокол передачи почты).

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

Что такое Telnet

Telnet – представляет собой средство связи, которое устанавливается между терминальными устройствами. Пример такой связи достаточно простой: персональный компьютер и сервер, который поддерживает подобный тип соединения. Телнет не является каким-либо программным обеспечением, это протокол связи . Но необходимо отметить, что есть некоторые утилиты, которые работают посредством протокола «terminalnetwork».

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

Этот протокол связи используется в некоторых операциях:

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

Установка и запуск

Скачивать утилиту не нужно, Telnet встроен в Windows 7/8/10 по умолчанию.

Инструкция по установке и запуску:

Для того, чтобы запустить клиент нужно открыть командную строку:

Предлагаем ознакомиться с видео по установке Телнет в Windows:

Проверка порта

Проверка сетевого порта на наличие доступа к нему персонального компьютера в Telnet:

  • в окне необходимо ввести команду telnetip;
  • далее следует ввести IP адрес компьютера, например, 192.168.1.1. Посмотреть адрес можно в настройках сетевого маршрутизатора;
  • в конце вводим порт FTP «21». Таким образом команда будет выглядеть так: telnet 192.168.0.1 21;
  • после этого появится сообщение об ошибке , если порт недоступен или с просьбой ввести дополнительные данные, если порт открыт.

Команды Telnet

Команды утилиты являются способом взаимодействия с ней. Для отображения списка всех команд , необходимо ввести «help». Далее подробно разберем основные команды:

  • «open» — запрос позволяет выполнить подключение к удаленному серверу;
  • «close» — прерывание процесса подключения к удаленному серверу;
  • «set» — настройка параметров подключения к серверу;
  • «term» — запрос предназначен для указания типа терминала ;
  • «escape» — задает управляющий символ ;
  • «mode» — выбор режима работы ;
  • «unset» — сброс ранее введенных параметров;
  • «start» — запуск сервера;
  • «pause» — временная остановка работы сервера;
  • «continue» — продолжение работы сервера после паузы;
  • «stop» — полное прекращение работы сервера.

Telnet в Linux

Как и в Виндовс, Телнет встроен в операционную систему Linux. Ранее он использовался, как стандартный протокол Telnet, теперь на его место пришел более улучшенный SSH. Как и с предыдущей ОС, утилита в Linux используется для проверки портов, маршрутизаторов и т.д.

Рассмотрим основные режимы работы:

  • «построчный ». Данный режим работы является рекомендованным. В этом случае редактирование запроса осуществляется на локальном ПК и отправляется на сервер только в том случае, когда она готова;
  • «посимвольный ». Каждый набранный символ в окне консоли отправляется на удаленный сервер. Здесь нельзя осуществить редактирование текста. При удалении символа с помощью «Backspace», он тоже будет отправлен на сервер.

Базовые команды в Linux:

  • «close» — прерывание подключения;
  • «encrypt» — включение шифрования;
  • «logout» — выключение утилиты и закрытие соединения;
  • «mode» — выбор режима работы;
  • «status» — состояние соединения;
  • «send» — отправка запроса телнет;
  • «set» — настройка параметров сервера;
  • «open» — подключение к удаленному серверу;
  • «display» — отображение специальных символов.
  • в окне консоли вводим запрос для проверки доступности сервера , например, «telnet 192.168.1.243»;
  • далее проверим доступ к порту путем ввода запроса «telnet localhost 122» и «telnet localhost 21». На экране консоли появится сообщение о том принимает ли соединение какой-либо из портов;
  • пример удаленного управления с помощью телнет. Для этого необходимо ввести в главном окне запрос «telnet localhost 23». «23» порт используемый по умолчанию. Чтобы произвести удаленное управление, необходимо установить на локальный компьютер «telnet-server». После этого появится сообщение с требованием ввода логина и пароля.

Недостатки Telnet

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

Telnet не является внутренней или внешней командой

Данная ошибка появляется в том случае, если данный клиент не установлен на персональном компьютере. Необходимо выполнить следующие действия:


Второй способ: