Perl для системного администрирования


Обращайте внимание на подозрительную активность - часть 3


Рассмотрим программу, реализующую поиск таких признаков. Сама программа написана для Unix, но демонстрируемые в ней приемы не зависят от платформы. Во-первых, это встроенная документация.

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

программой:

sub usage {

print «"EOU"

lastcheck - проверяет вывод команды last,

ИСПОЛЬЗОВАНИЕ: lastchecK [args]. где вместо может быть:

-i: для IP-адресов, считан-^ сеть класса С одним 'доменом

-л: помощь (это сообщение)

/usr/ucb/last

exit:

Сначала мы анализируем аргументы из командной строки, просматриваются аргументы программы и соответствующим образом устанавливается $ор1_<буква_фла!а>. Двоеточие после буквы

говорит о том, что этот параметр принимается как аргумент:

use Getopt::Std: ft сгиндарт.ньи: процессор

&usage if (defined $opt_h):

it допустимое количество уникальных

Smaxdomains = (defined $opt_ni) 9 Sopt.r : 3:

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

главе:

Slastex = (defined $opt_l) ? $opt_l : "/usr/ucb/last":

open(LAST,"$lastex|") [| die "Невозможно выполнить программу Slastex:$!\n";

Перед тем как двигаться дальше, давайте взглянем на хэш списков, с помощью которого программа обрабатывает данные, полученные от last. Ключами этого хэша являются имена пользователей, а значениями - ссылки на список уникальных доменов, с которых регистрировался пользователь.

К примеру, запись может выглядеть так:

Suserinfo { laf } = [ 'ccs.neu.edu', 'xerox,com', 'foobar.edu' ]

Эта запись говорит о том, что пользователь laf регистрировался с доменов ccs.neu.edu, xerox.com и foobar.edu.




- Начало -  - Назад -  - Вперед -



Книжный магазин