Опубликован: 10.10.2007 | Уровень: специалист | Доступ: платный
Лекция 6:

ICQ, WHOIS и Finger

< Лекция 5 || Лекция 6: 123 || Лекция 7 >

Протокол Finger

Finger является простым протоколом (RFC-1288), который служит для получения информации о пользователях узлов Internet. Протокол использует TCP-порт 79. Команда Finger может дать вам данные о списке пользователей, которые работают в данный момент на интересующей вас ЭВМ, о конкретном пользователе (дата последнего сеанса входа в систему и т.д.), о списке загруженных задач, о типах интерфейсов (например, терминалов). Данный протокол обеспечивает интерфейс для удаленной информационной программы пользователя ( RUIPRemote USer Information Program).

Протокол Finger базируется на TCP. Локальная ЭВМ осуществляет TCP-соединение с удаленным узлом через указанный порт. После этого становится доступной программа RUIP, и пользователь может посылать ей свои запросы. Каждый запрос представляет собой строку текста. RUIP, получив запрос, анализирует его и присылает ответ, после чего соединение закрывается.

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

Программа RUIP должна воспринимать любые запросы Finger. Такие запросы могут иметь следующий формат:

{Q1} ::= [{W}|{W}{S}{U}]{C}
{Q2} ::= [{W}{S}][{U}]{H}{C}
где {U} ::= имя_пользователя
{H} ::= @hostname | @hostname{H}
{W} ::= /W
{S} ::= | {S}
{C} ::= {H}

является рекурсивным, по этой причине не существует каких-либо ограничений на число лексем типа @hostname в запросе. В примере спецификации {Q2} число лексем @hostname не может превышать двух.

Следует иметь в виду, что в случае запросов " finger user@host" программа RUIP в действительности получит "user".

Запрос {Q2} требует переадресации запроса другой программе RUIP. Программа RUIP может либо осуществить эту процедуру, либо отказать в переадресации. В случае выполнения запроса она должна это подтвердить, сообщая, что:

ЭВМ <H1> открывает соединение Finger <F1-2> с RUIP на ЭВМ <H2>.
<H1> выдает <H2> RUIP запрос <Q1-2> типа {Q2} (например, FOO@HOST1@HOST2).

При этом следует извлечь информацию о том, что:

ЭВМ <H2> является самой правой ЭВМ в запросе <Q1-2> (например, HOST2)
Запрос <Q2-3> является остатком запроса <Q1-2> 
 после удаления правой части "@hostname" 
  (например, FOO@HOST1)

Таким образом:

<H2> RUIP должна открыть соединение <F2-3> с <H3>, используя <Q2-s>.
<H2> RUIP должна прислать любую информацию, посланную от <F2-3>
к <H1> через <F1-2> .
<H2> RUIP должна закрыть <F1-2> в нормальных обстоятельствах толь-
ко когда <H3> RUIP закрывает <F2-3> .

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

Запрос {C} требует выдачи списка всех работающих пользователей. RUIP должна либо ответить, либо активно отказаться. Если она отвечает, то она должна выдать, по крайней мере, полные имена пользователей. Системный администратор может включить в выдачу и другую полезную информацию, такую, как:

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

Запрос {U}{C} является требованием присылки информации о статусе определенного пользователя {U}. Если вы не хотите выдавать такую информацию, тогда следует заблокировать работу Finger.

Ответ должен включать в себя полное имя пользователя. Если пользователь активно работает в сети, то присылаемые данные должны включать, по крайней мере, тот же объем информации, что и при запросе {C}.

Так как это запрос информации об отдельном пользователе, администратор может добавить определенную информации об этом человеке, например:

  • расположение офиса
  • рабочий номер телефона
  • номер домашнего телефона
  • статус работы в системе (not logged in, logout time, и т.д.)
  • информационный файл пользователя

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

При запросе Finger существует возможность запуска определенной программы пользователя. Если такая опция предусмотрена, системному администратору должно быть позволено запрещать эту процедуру. Данная опция, создавая определенные угрозы, практически беспредельно расширяет возможности Finger.

Так как данные, выдаваемые протоколом Finger, крайне полезны для хакеров, настоятельно рекомендуется блокировать работу этого протокола.

К вымирающему виду услуг можно отнести и протокол рассылки новостей NNTP. Этот протокол по своей природе почти не отличим от SMTP и содержит элементы подписных листов LISTSERV.

< Лекция 5 || Лекция 6: 123 || Лекция 7 >
Евгений Виноградов
Евгений Виноградов

Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа?

Илья Сидоркин
Илья Сидоркин

Добрый день! Подскажите пожалуйста как и когда получить диплом, после сдичи и оплаты?????

Алексей Приходько
Алексей Приходько
Украина, Днепропетровск, Украинский государственный Химико-технологический университет, 2013
Юрий Волоховский
Юрий Волоховский
Украина, Харьков, ХарГАЖТ, 2007