Telnet какой протокол. Что такое 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, работать с этой службой достаточно легко. Можно запустить его без аргументов, указав в командной строке лишь адрес хост-системы. При определенных обстоятельствах еще нужно указать конкретный порт. Первое сообщение, которое видит пользователь, после выполнения команды “ telnet “, посылается самой программой, а после установления связи между клиентом и сервером выводятся сообщения, исходящие от управляемой системы. В связи с этим с удаленной операционной системой можно работать через Telnet таким же образом, как это происходит в случаях с другими специализированными программами дистанционного доступа к ОС. Теперь давайте присмотримся к данной службе поближе и разберем наиболее часто используемые команды Telnet .

Командная строка Telnet на клиенте с Windows может принимать следующие команды:

open узел порт – применяется для установки соединения с заданным узлом;

close – закрывает существующее соединение;

quit – выход из текущего сеанса Telnet;

display – позволяет просмотреть текущие параметры Telnet-клиента;

set – с ее помощью возможно задать Telnet-параметры текущей сессии , а конкретно:

  • set ntlm включит NTLM (использование интегрированной в Telnet проверки подлинности NTLM во время подключения пользователя с удаленного компьютера позволяет обойтись без ввода логина и пароля при входе);
  • set localecho включит режим локального вывода команд;
  • set term vt100/vt52/vtnt/ansi задаст указанный тип терминала (например, VT100 применяют для выполнения обычных программ командной строки, а VTNT – для выполнения расширенных программ, типа “edit”);
  • set escape символ задаст последовательность клавиш, переключающих режим сеанса в командный режим (к примеру, set escape , потом нажатие клавиш “Ctrl+P” и “Enter” установит Ctrl+P в качестве переключателя);
  • set logfile имя_файла укажет на файл журнала текущей активности Telnet (этот файл должен находиться в файловой системе управляющего компьютера);
  • set logging включит ведение журнала (файл журнала должен быть предварительно указан вышеприведенной командой, иначе возникнет сообщение с ошибкой);

unset – выполняет отключение различных параметров сессии Telnet (обратные операции по отношению к set), а именно:

  • unset ntlm отключит встроенную проверку подлинности;
  • unset localecho деактивирует режим локального вывода команд;

status – используется с целью проверки наличия подключения к Telnet-клиенту;

enter – применяется для перехода в существующий подключенный сеанс Telnet;

Или help – отображение справочной информации.

Закончив с делами на удаленной машине, вам нужно будет закрыть соединение с ней. При этом работа самого Telnet завершается не всегда. Чтобы выйти в командную строку Telnet, воспользуйтесь горячими клавишами “Ctrl+]” .

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

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

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

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

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

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

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

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

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


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

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


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

Итог:

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

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

Команды 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 – базовый протокол ОС UNIX, обеспечивающий терминальный доступ пользователей к удалённому компьютеру .

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

По умолчанию в Telnet используется 23 порт. На удалённом компьютере должна быть запущена серверная часть, а на компьютере пользователя – клиентская. Клиентская программа носит то же название – telnet и допускает ввод параметров из командной строки. К этим параметрам относятся:

Имя (IP адрес) сервера и номер порта

Тип текстового терминала

Имя пользователя

Имя журнала соединения

Определение действий некоторых функциональных клавиш клавиатуры и др.

Синтаксис командной строки зависит от программной реализации telnet и с этой точки зрения telnet можно рассматривать как службу или сервис.

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

Наиболее популярный метод повышения безопасности прикладных терминальных протоколов (например, telnet) является протокол SSH (Secure SHell), использующий 22 порт по умолчанию. Так же, как и в telnet, на удалённом компьютере запускается серверная часть SSH, а на пользовательском компьютере – клиентская. После установления соединения все данные передаются в зашифрованном виде и все данные прикладных протоколов туннелируются по этому защищённому соединению как это показано на рисунке 3.5.3.1.

Перед использованием telnet удалённый компьютер и компьютер пользователя устанавливают защищённое соединение по 22 порту (подразумевается, что до использования SSH в клиентской и серверной части уже определены пароли криптографической защиты). При вызове telnet открывается 23 порт, но передаваемые пакеты перехватываются клиентом SSH, шифруются и отправляются по защищённому каналу. Сервер SSH расшифровывает данные и по 23 порту передаёт серверу telnet. Реакция сервера передаётся в обратном порядке. Пользователь не ощущает работы протокола SSH и работает как с обычным клиентом telnet по 23 порту.

Протоколы электронной почты

Электронная почта (E-mail) – один из старейших и наиболее распространённых сетевых сервисов, популярных как в локальных, так и глобальных сетях .

Система электронной почты появилась в 1982 г. как сервис предка Internet сети ARPANET. Эта система значительно отличалась от принятых CCITT рекомендаций серии X.400. Сложность рекомендаций Х.400 и их непродуманность привели к редкому для сетевых технологий случаю, когда инициативная разработка победила международный стандарт. Службы электронной почты, отвечающие Х.400, не нашли широкого применения и представляют скорее научный интерес.

Электронное почтовое сообщение, как и в обычной почте, содержит конверт с необходимой для доставки информацией, заголовка с полезными для автоматизированной обработки адресатом данными и собственно сообщения.

Конверт и заголовок имеют формализованные поля. Наиболее важными из них являются (обязательные для заполнения отправителем поля выделены жирным шрифтом):

То: - адрес (а) получателя (лей) в формате имя_ящика@имя_почтового_сервера

Сс: - (carbon copy) адрес (а) дополнительного (ных) получателя (лей)

Bcc: - (blind carbon copy) слепой (ые) адрес (а) получателя (лей), о которых другим не сообщается

Sender: - адрес отправителя письма

Received: - поле, куда при прохождении каждого узла добавляется имя узла, дата и время приёма

Return-Path: - имена узлов на пути письма

Date: - дата и время отправки письма

Reply-to: - адрес, куда надо ответить

Message-id: - уникальный идентификатор письма (для ссылок)

In-Reply-id: - идентификатор письма, на которое даётся ответ

Subject: - тема письма

Тело сообщения представляет собой набор строк из не более, чем 1000 (рекомендуется до 78) ASCII (American Standard Code for Information Interchange) знаков, т. е. 7-и битных чисел, представляющих буквы латинского алфавита, знаки препинания и цифры (популярным для такого представления является термин «кодировка»). Символы национальных кодировок (например, знаков кириллицы), двоичные файлы (например, с аудио, или видео информацией) и др. отображаются в соответствии с соглашением MIME (Multipurpose Internet Mail Extension – многоцелевые расширения электронной почты в Интернете), которое предусматривают поле с указанием способа кодировки (например, Base64 – см. параграф 3.5.2).

Базовым методом обеспечения конфиденциальности электронной почты является её криптографическая защита. Наиболее популярная система именуется PGP (Pretty Good Privacy - достаточно хорошая конфиденциальность). Эта система предложена Филом Циммерманом (Phil Zimmerman) и предусматривает использование нескольких алгоритмов шифрования (RSA, IDEA, MD5).

Другая система носит название PEM (Privacy Enhanced Mail – почта повышенной секретности) и отличается от PGP необходимостью связи с центрами сертификации ключей, меньшей степенью защиты (для кодирования данных в системе PGP используется ключи длинной 128 бит, а в системе PEM – только 56 бит), но полным соответствием рекомендациям ITU-T (Х.400 и Х.509).

Протоколы электронной почты характеризуются значительным разнообразием от фирменных, пригодных в программных продуктах конкретных фирм-производителей, до общепризнанных. Речь идёт о протоколах именно систем электронной почты, а не о распространённых системах эмуляции почтовых служб на базе протокола НТТР (см., например, www. mail. ru).

Среди почтовых протоколов можно выделить:

SMTP (Simple Mail Transfer Protocol – простой протокол электронной почты) – протокол, используемый для обмена почтой между узлами и отправки писем от клиента к почтовому серверу. По умолчанию протокол использует 25 порт.

РОР3 (Post Office Protocol v.3 –протокол электронной почты версии 3) – протокол для получения почты клиентом. По умолчанию протокол использует 110 порт.

IMAP v4 (Internet Message Access Protocol v.4 –протокол интерактивного доступа к электронной почте версии 4) – протокол, аналогичный РОР3, но позволяющий клиенту хранить и обрабатывать почту на самом почтовом сервере. По умолчанию протокол использует 585 порт

Протокол SMNP

Протокол SNMP (Simple Network Management Protocol – простой протокол сетевого управления) первоначально разрабатывался для управления маршрутизаторов, но затем был расширен на любые сетевые устройства (по умолчанию порты 161/162). В настоящее время актуальна версия 2 протокола (1999 г.) .

Протокол построен по принципу клиент - сервер (на управляемом сетевом устройстве должна быть запущена программа клиента) и включает в себя протокол управления (взаимодействие управляемого и управляющего узлов), язык ASN.1 (Abstract Syntax Notation v.1 - абстрактная синтаксическая нотация версии 1) описания модели управления и собственно модель управления MIB (Management Information Base - база управляющей информации). Распространению протокола мешает его низкая защищённость и ориентация на использование протокола UDP, приводящего к возможной потере сообщенийDNS

Задача разрешения имен подразумевает определение IP адреса узла по его символьному имени и определение символьного имени по заданному IP адресу.

Исторически первый, но до сих пор действующий механизм разрешения имен связан с прямым заданием таблицы соответствия символьных имён и IP адресов в файле hosts/lmhosts (первый файл используют UNIX/Linux и некоторые др. операционные системы (ОС), а второй – ОС фирмы Microsoft). Оба файла текстовые и их форматы и ключи можно найти в MS Windows в одноимённых файлах с расширением. sam (sample – образец). Очевидно, для сколько-нибудь крупной сети решить задачу таким образом полностью не представляется возможным, хотя запись в эти файлы сведений об основных серверах, маршрутизаторах, шлюзах и пр. весьма эффективна для ускорения старта компьютера в сетевом окружении.

Другой, достаточно популярный способ разрешения имён связан с использованием NetBIOS (Network Basic Input/Output System) поверх TCP/IP . Эта система была разработана совместными усилиями Microsoft и IBM в 80-е годы как сетевой сервис ввода/вывода для операционной системы Windows. Позже, для реализации доступа пользователей к ресурсам сети был разработан протокол NetBEUI (NetBIOS Extended User Interface – расширенный пользовательский интерфейс NetBIOS) как основной сетевой протокол в ОС Windows for Workgroups и NT. Наконец, с повсеместным распространением стека TCP/IP компания Microsoft была вынуждена выпустить реализацию NetBIOS, использующую протокол IP для передачи необходимых данных (NetBIOS поверх TCP/IP). До сих пор продолжается поддержка NetBIOS в ОС Windows 2000/NT/XP, правда уже не как основного механизма доступа к ресурсам сети. NetBIOS целесообразно использовать в небольших, одноранговых сетях.

Изначально, каждый узел в сети с NetBIOS имеет символьное имя (до 15 знаков) с идентификатором ресурса (16-ый знак), который указывает на роль узла (файловый сервер, принт-сервер, рабочая станция и пр.). «Чистый» NetBIOS применим только для небольших сетей и считается «немаршрутизируемым», т. к. –

система имён не позволяет идентифицировать сеть

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

Для устранения указанных недостатков компания Microsoft предложила службу WINS (Windows Internet Name Service – служба Windows имен Internet) на базе серверов имен NetBIOS. Следует отметить, что несмотря на упоминание сети Internet, WINS не применяется в этой глобальной сети.

Первый недостаток NetBIOS устраняется в WINS тем, что вводится групповое имя для сети, а второй – тем, что запросы при разрешении имён обращены к конкретным серверам WINS. Неустойчивость в работе службы, трудности администрирования и затруднительность использования в глобальной сети Internet, к настоящему моменту заставили компанию Microsoft перейти к полноценной поддержке DNS.

DNS (Domain Name System – доменная система имён) реализуется с помощью одноименного прикладного протокола, использующего по умолчанию 53 порт . Система DNS была разработана в рамках ОС UNIX и соответствующая служба, использующая DNS, имеет ту же аббревиатуру, но расшифровывается как Domain Name Service.

Имена в DNS строятся по иерархическому принципу в виде перевёрнутого дерева. Домены верхнего уровня (корневые) делятся по профессиональному принципу (. com - коммерческие,. gov - государственные,. net - сетевые и пр. узлы) или по национальному (. ru - русские,. fi - финские,. fr - французские и т. д.). ОС UNIX разрабатывалась в США и, само собой считалось, что все узлы находятся там же. Сейчас можно встретить двойные имена доменов, например,. com. tw – коммерческие тайваньские.

В свою очередь, каждый домен содержит поддомен, имя которого добавляется слева и отделяется точкой, и т. д. Заканчивается запись добавлением слева имени узла. Имя каждого домена, поддомена или узла не должно превышать 63 символа, а полное имя – 255 символов. Для обозначения имён традиционно используется латинский алфавит, цифры и тире (знак _ недопустим), но, в принципе, можно зарегистрировать домен с именем на кириллице, но смысл этого проблематичен.

Данные об именах зарегистрированных в любом домене поддоменов/узлов и их IP адресах хранятся в двух таблицах на DNS-серверах, где также имеется имя и адрес вышележащего домена. По первой таблице для заданного символьного имени определяется цифровой адрес (прямое преобразование и, соответственно, т. н. «прямая зона»), а по второй - по заданному адресу находится символьное имя (обратное преобразование и «обратная зона»).

Для повышения надёжности в каждом домене должно быть не менее 2-х серверов (primary - первичного и secondary - резервного), причём физически эти серверы должны находиться в разных сетях и могут располагаться не в тех доменах, имена узлов которых они содержат.

Корневой домен поддерживают свыше 10 DNS серверов, IP адреса и имена которых «зашиты» в сетевые ОС. Регистрацию новых имён и выделение соответствующих IP адресов производит владелец домена. Например, регистрацию в домене. ru производит РосНИИРОС, где регистрация имени и получение IP адреса обойдётся приблизительно в 50$, а годовая поддержка адреса – в 10$.Все изменения в таблице имен производятся на первичном DNS сервере, резервные серверы только обновляют свои записи по записям первичного сервера. Репликация (обновление) зоны производится с помощью надёжного протокола TCP, в то время, как для DNS запросов клиентов, применяется протокол UDP. Для ускорения процесса разрешения имени и уменьшения трафика в сети иногда устанавливают так называемые кэш-серверы DNS, которые записывают часто используемые имена и адреса.Режим работы DNS сервера может быть рекурсивным и не рекурсивным. В случае рекурсивного режима при невозможности разрешить DNS запрос этот запрос транслируется специально заданному другому DNS серверу (форвардеру – forfarders), который затем возвращает полученный ответ. При не рекурсивном режиме - в отсутствии информации о запрашиваемом узле производится обращение к корневым DNS серверам, а от них вниз по цепочке до получения ответа.

NAT (Network Address Translation - трансляция сетевых адресов) реализует преобразование (подмену) IP адресов локальных сетей во внешние IP адреса глобальной сети Internet . Необходимость такого преобразования следует из соглашения об использовании части IP адресов только в локальных сетях (см. п. 3.2), по которому маршрутизаторы глобальной сети уничтожают пакеты с этими адресами.

NAT действует на сетевом и частично на транспортном уровнях, обеспечивая преобразование в IP пакетах адресов узлов локальной сети во внешний адрес. Преобразование производится путём замены адреса внутреннего узла на внешним адрес. Заменяемые адреса запоминаются в таблице, с помощью которой производится обратная замена при получении ответного пакета. Следует отметить, что для устранения возможной неразличимости преобразуется не только IP адрес, но и с помощью PAT (Port Address Translation) номер порта.

Кроме преобразования адресов NAT позволяет уменьшить потребность в IP адресах для глобальных сетей, т. к. все пользователи локальной сети могут получать доступ к ресурсам глобальной сети через один внешний адрес.

NAT - не единственный способ отправки пакетов из локальной сети в глобальную, альтернативой трансляции адресов является использование сервера-посредника.