Finger: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
→‎Формат запросов Finger: Смысловая правка.
Нет описания правки
Метки: с мобильного устройства из мобильной версии
 
(не показаны 3 промежуточные версии 3 участников)
Строка 10: Строка 10:
|Серверы = fingerd в [[Linux]] и [[BSD]]
|Серверы = fingerd в [[Linux]] и [[BSD]]
}}
}}
'''Finger''' (Фингер) — [[сетевой протокол]], предназначенный для предоставления информации о пользователях удалённого [[компьютер]]а.
'''Finger''' — [[сетевой протокол]], предназначенный для предоставления информации о пользователях удалённого [[компьютер]]а.


== Введение ==
== Введение ==
Строка 18: Строка 18:
== Принцип работы ==
== Принцип работы ==
Finger базируется на [[Transmission Control Protocol]], используя TCP-порт 79. Данный протокол обеспечивает интерфейс для удаленной информационной программы пользователя (RUIP — Remote User Information Program). Локальная ЭВМ осуществляет TCP-соединение с удаленным узлом через указанный порт. После этого становится доступной программа RUIP и пользователь может посылать ей свои запросы. Каждый запрос представляет собой строку текста. RUIP, получив запрос, анализирует его и присылает ответ, после чего соединение закрывается.
Finger базируется на [[Transmission Control Protocol]], используя TCP-порт 79. Данный протокол обеспечивает интерфейс для удаленной информационной программы пользователя (RUIP — Remote User Information Program). Локальная ЭВМ осуществляет TCP-соединение с удаленным узлом через указанный порт. После этого становится доступной программа RUIP и пользователь может посылать ей свои запросы. Каждый запрос представляет собой строку текста. RUIP, получив запрос, анализирует его и присылает ответ, после чего соединение закрывается.
Обычно со стороны [[сервер (приложение)|сервера]] протокол реализован программой «fingerd», а со стороны клиента — программой «finger», которая предоставляет дружественный, пользовательский интерфейс. Например, в системах [[Unix]], команда <tt>finger @foo.bar.net</tt> теоретически возвращает список пользователей компьютера по адресу «foo.bar.net» (конечно, только если на нём запущена «fingerd»), а команда <tt>finger boris@foo.bar.net</tt> возвращает полную информацию о пользователе «boris», включая имя, фамилию, телефон и содержание файла «.plan» в его домашнем каталоге.
Обычно со стороны [[сервер (приложение)|сервера]] протокол реализован программой «fingerd», а со стороны клиента — программой «finger», которая предоставляет пользовательский интерфейс. Например, в системах [[Unix]], команда <tt>finger @foo.bar.net</tt> теоретически возвращает список пользователей компьютера по адресу «foo.bar.net» (конечно, только если на нём запущена «fingerd»), а команда <tt>finger boris@foo.bar.net</tt> возвращает полную информацию о пользователе «boris», включая имя, фамилию, телефон и содержание файла «.plan» в его домашнем каталоге.


Любые пересылаемые данные должны иметь формат [[ASCII]], не иметь контроля по четности и каждая строка должна завершаться последовательностью CRLF ([[ASCII]] 13, за которым следует [[ASCII]] 10).
Любые пересылаемые данные должны иметь формат [[ASCII]], не иметь контроля по четности и каждая строка должна завершаться последовательностью CRLF ([[ASCII]] 13, за которым следует [[ASCII]] 10).
Строка 55: Строка 55:
|}
|}


Кроме того, существует более длинный формат вывода и он используется командой finger в том случае, если задан список имен пользователей. (Допускаются наряду с первым и последним именами пользователей также и учетные имена.) Этот формат состоит из нескольких строк; он включает всю информацию, описанную выше, и, дополнительно, пользовательские входной каталог и интерпретатор shell регистрации, любой план, который пользователь разместил в файле .plan в своем входном каталоге, и проект, в соответствии с которым заданные пользователи работают в данный момент, взятый из файла .project, который также находится во входном каталоге. Если в домашней директории указанного пользователя находится файл .nofinger, то по команде finger информация об этом пользователе не возвращается.
Кроме того, существует более длинный формат вывода и он используется командой finger в том случае, если задан список имен пользователей. (Допускаются наряду с первым и последним именами пользователей также и учетные имена.) Этот формат состоит из нескольких строк; он включает всю информацию, описанную выше, и, дополнительно, пользовательские входной каталог и интерпретатор shell регистрации, любой план, который пользователь разместил в файле .plan в своем входном каталоге, и проект, в соответствии с которым заданные пользователи работают в данный момент, взятый из файла .project, который также находится во входном каталоге. Если в указанного пользователя находится файл .nofinger, то по команде finger информация об этом пользователе не возвращается.


== Соображения безопасности ==
== Соображения безопасности ==
Предоставлять такую подробную информацию, как адреса электронной почты и полные имена считалось приемлемым и удобным в первые дни интернета, но позднее стало сомнительным для обеспечения конфиденциальности и безопасности. Информация, предоставляемая Finger, часто использовалась хакерами для атак на компьютерные системы компаний. С помощью программы «finger» злоумышленник под видом другого работника мог получить список сотрудников компании, имена, адреса электронной почты, номера телефонов и другую информацию.
Предоставлять такую подробную информацию, как адреса электронной почты и полные имена считалось приемлемым и удобным в первые дни интернета, но позднее стало сомнительным для обеспечения конфиденциальности и безопасности. Информация, предоставляемая Finger, часто использовалась хакерами для атак на компьютерные системы компаний. С помощью программы «finger» злоумышленник мог получить список сотрудников компании, имена, адреса электронной почты, номера телефонов и другую информацию.
== Пользователи ==

Из-за проблем с безопасностью сервис Finger более никем не предоставляется в сети. Известные пользователи Finger — [[Кармак, Джон|Джон Кармак]] из [[id Software]] и [[Франкель, Джастин|Джастин Франкель]], создатель [[Winamp]]. В 2005 году Кармак всё же перешёл от устаревшего «.plan» к новому [[блог]]у.
Известные пользователи Finger — [[Кармак, Джон|Джон Кармак]] из [[id Software]] и [[Франкель, Джастин|Джастин Франкель]], создатель [[Winamp]]. В 2005 году Кармак всё же перешёл от устаревшего «.plan» к новому [[блог]]у.


== Ссылки ==
== Ссылки ==

Текущая версия от 07:18, 7 марта 2022

Finger
Название Finger
Уровень (по модели OSI) Прикладной
Семейство TCP/IP
Порт/ID 79/TCP
Назначение протокола Предоставление интерфейса для получения данных о пользователях удаленного компьютера
Спецификация RFC 1288
Основные реализации (клиенты) finger
Основные реализации (серверы) fingerd в Linux и BSD

Finger — сетевой протокол, предназначенный для предоставления информации о пользователях удалённого компьютера.

Протокол Finger является простым протоколом (описан в RFC 1288), который служит для получения информации о пользователях узлов Интернета. Программа Finger может предоставить данные о списке пользователей, которые работают в данный момент на интересующем компьютере, о конкретном пользователе (дата последнего сеанса входа в систему и т. д.), о списке загруженных задач, о типах интерфейсов (например, терминалов). Первоначальная версия программы была написана Les Earnest в 1971 году. Окончательная версия протокола была подготовлена Earl Killian из Массачусетского Технологического Института и Brian Harvey (SAIL).

Принцип работы

[править | править код]

Finger базируется на Transmission Control Protocol, используя TCP-порт 79. Данный протокол обеспечивает интерфейс для удаленной информационной программы пользователя (RUIP — Remote User Information Program). Локальная ЭВМ осуществляет TCP-соединение с удаленным узлом через указанный порт. После этого становится доступной программа RUIP и пользователь может посылать ей свои запросы. Каждый запрос представляет собой строку текста. RUIP, получив запрос, анализирует его и присылает ответ, после чего соединение закрывается. Обычно со стороны сервера протокол реализован программой «fingerd», а со стороны клиента — программой «finger», которая предоставляет интуитивный пользовательский интерфейс. Например, в системах Unix, команда finger @foo.bar.net теоретически возвращает список пользователей компьютера по адресу «foo.bar.net» (конечно, только если на нём запущена «fingerd»), а команда finger boris@foo.bar.net возвращает полную информацию о пользователе «boris», включая имя, фамилию, телефон и содержание файла «.plan» в его домашнем каталоге.

Любые пересылаемые данные должны иметь формат ASCII, не иметь контроля по четности и каждая строка должна завершаться последовательностью CRLF (ASCII 13, за которым следует ASCII 10).

Формат запросов Finger

[править | править код]

Программа RUIP должна принимать любые запросы Finger. Такие запросы могут иметь следующий формат:
finger [опция] [login1 [login2 ...]]

По умолчанию команда finger выводит в список для каждого пользователя системы Unix на данный момент:

  • имя регистрации в систему
  • полное имя
  • имя терминала
  • статус записи (при отсутствии разрешения на запись перед терминальным именем указывается символ «*»)
  • время простоя
  • время регистрации
  • нахождение места работы и телефонный номер (если они известны)

Время простоя вычисляется как время, прошедшее с момента выполнения каких-либо действий на данном терминале. Оно включает предыдущие вызовы команды finger, которая, возможно, модифицировала файл устройства, соответствующий данному терминалу. Оно отображается в минутах, если оно выведено одним целым числом, в часах и минутах, если в его отображении присутствует двоеточие (:), или в днях и часах, если в выводе присутствует символ «d».

Опции

-b Сокращенный длинный формат вывода пользователей
-f Подавляет печать заголовка строки (короткий формат)
-i Быстрый список пользователей с указанием времени простоев
-l Вызывает вывод в длинном формате
-p Подавляет печать файлов .plan
-q Быстрый список пользователей
-s Вызывает вывод в коротком формате
-w Вызывает узкий форматный список указанных пользователей

Кроме того, существует более длинный формат вывода и он используется командой finger в том случае, если задан список имен пользователей. (Допускаются наряду с первым и последним именами пользователей также и учетные имена.) Этот формат состоит из нескольких строк; он включает всю информацию, описанную выше, и, дополнительно, пользовательские входной каталог и интерпретатор shell регистрации, любой план, который пользователь разместил в файле .plan в своем входном каталоге, и проект, в соответствии с которым заданные пользователи работают в данный момент, взятый из файла .project, который также находится во входном каталоге. Если в домашнем каталоге указанного пользователя находится файл .nofinger, то по команде finger информация об этом пользователе не возвращается.

Соображения безопасности

[править | править код]

Предоставлять такую подробную информацию, как адреса электронной почты и полные имена считалось приемлемым и удобным в первые дни интернета, но позднее стало сомнительным для обеспечения конфиденциальности и безопасности. Информация, предоставляемая Finger, часто использовалась хакерами для атак на компьютерные системы компаний. С помощью программы «finger» злоумышленник мог получить список сотрудников компании, имена, адреса электронной почты, номера телефонов и другую информацию.

Пользователи

[править | править код]

Известные пользователи Finger — Джон Кармак из id Software и Джастин Франкель, создатель Winamp. В 2005 году Кармак всё же перешёл от устаревшего «.plan» к новому блогу.