telnetd

Сервис протокола TELNET DARPA (UNIX)

Примечание. Для запуска этого сервиса необходимо войти в систему с учетной записью root.

Синтаксис:

telnetd [-4 | -6] [-debug [порт]] [-D модификатор] [-n]

Поддерживаемые платформы:

Neutrino

Опции:

-4 или -6

Семейство адресов, используемое для режима -debug. В нормальном режиме работы (при вызове из сервиса inetd) telnetd использует дескриптор файла, передаваемый сервисом inetd.

-D модификатор

Отобразить отладочную информацию. Можно указать любое из следующих значений:

options

Вывести информацию о согласовании опций TELNET.

report

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

netdata

Отобразить поток данных, полученный сервисом telnetd.

ptydata

Отобразить данные, записанные на псевдотерминал.

-debug [порт]

Обычно сервис telnetd запускается автоматически из inetd. Эта опция позволяет запустить сервис telnetd вручную.

-n


Деактивировать опцию keepalive.

Описание:

Сервис telnetd – это сервер, поддерживающий протокол виртуального терминала TELNET, соответствующий стандарту DARPA.

Сервис telnetd запускается после получения сервисом inetd запроса службы на подключение к порту TELNET (сервис inetd прослушивает запросы служб, указанные в файле inetd.conf, на порте, определенном в файле services).

С помощью опции -debug сервис telnetd можно запустить вручную, а не из inetd. При таком способе запуска сервиса telnetd можно использовать аргумент порт для выполнения сервиса telnetd на порте с альтернативным номером TCP.

Для отладки используется опция -D. Если указана эта опция, сервис telnet выводит отладочную информацию через соединение, что позволяет просматривать данные о работе сервиса telnetd.

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

Примечание. Получение сообщения о том, что все сетевые порты заняты, означает, что либо исчерпано количество псевдоустройств, либо не запущен сервис devc-pty. Сервис telnetd учитывает устройства псевдотерминалов только с именами /dev/pty[pqrs][0-f] вне зависимости от количества других созданных устройств псевдотерминалов.

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

Сервиса telnetd готов к выполнению следующих команд:
А также – к выполнению следующих команд на стороне удаленного клиента:
Проблемы разрешения имен

Для сервиса telnetd необязательно наличие доступа к функциям разрешения имен. В случае отсутствия доступа к этим функциям сервис telnetd выполняет обратный поиск имени клиента Telnet (поиск имени хоста по IP-адресу).

В случае использования сервера имен следует убедиться в корректности его конфигурации. Если конфигурация некорректна, может возникнуть задержка при возврате клиенту приглашения на вход в систему продолжительностью до 1,5 минут, пока преобразователь имен библиотеки сокетов осуществляет попытку разрешения IP-адреса в имя хоста.

Типовая конфигурация для выполнения telnetd во встраиваемой целевой системе

Как было указано выше, для выполнения сервиса telnetd в среде системы хоста следует просто ввести команду inetd в командной строке. При необходимости выполнения сервиса telnetd во встраиваемой целевой системе следует скопировать в целевую систему следующие файлы:

Сервис inetd и файл inetd.conf находятся в каталоге /usr/sbin и каталоге /etc, соответственно. В случае перемещения файла inetd.conf в другой каталог следует указать inetd в командной строке. 

Примечание. Минимальный набор данных, содержащихся в файле inetd.conf, для обеспечения корректного функционирования сервиса telnetd:

При отсутствии необходимости входа в систему команду login можно связать с sh или с другим исполняемым файлом, но в этом случае также следует добавить /etc/passwd.

Для получения дополнительной информации см. раздел "Проблемы разрешения имен" выше.

Для конфигурирования интерфейса через приглашение командного интерпретатора следует использовать либо утилиты ifconfig и route, либо dhcp.client. После этого можно запустить сервис inetd.

Файлы:

Для работы сервиса telnetd требуется разделяемая библиотека libsocket.so.

Лицензия:

Эта утилита разработана на основе программного обеспечения, авторское право на которое принадлежит проекту WIDE и членам правления Калифорнийского университета (The Regents of the University of California). Уведомление об авторских правах см. в разделе telnetd в приложении "Уведомление об авторских правах третьих сторон".

Предупреждения:

В виду наличия ошибок в исходной утилите telnet из пакета BSD версии 4.2 сервис telnetd выполняет обмен некоторыми данными по протоколу для получения подтверждения того, что удаленным клиентом действительно ялвяется Telnet версии 4.2 BSD.

Для двоичного режима не предусмотрено единой интерпретации, за исключением случаев его реализации между одинаковыми операционными системами (в данном случае UNIX).

Имя типа терминала, получаемое от удаленного клиента, преобразуется в символы нижнего регистра.

Сервис telnetd не передает команды TELNET Go Ahead.