|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Andrey Ostanovsky 2:5030/1957 06 Jun 2006 00:00:42 To : Valentin Nechayev Subject : Подбор логина/пароля по ssh -------------------------------------------------------------------------------- 05 Jun 06 22:39, you wrote to me: VN>>> Угу, в 6.1 не Illegal user, а Invalid user. AO>> Массив вариаблей рисовать придется, кстати, туда же и веса AO>> всандалить (для каждой строчки свой) - и не надо будет делать трех AO>> разных проверок.:) VN> В смысле? Hу, вместо того, что у тебя сейчас sub parse_line { my $line = shift; chomp $line; print "_: parse_line: line=$line\n" if $f_v; if( $line =~ /sshd\[\d+\]: Failed .... { &add_ip($1, 1000); } elsif( $line =~ /sshd\[\d+\]: Failed ..... { сделать что-то типа: %SRC = ( 1 => { string => 'Failed password for root from', weight => 1000, }, 2 => { string => 'Failed password for ...', weight => 300, }, ) ... for (keys %SRC) { next unless $incoming_string =~ /$SRC{$_}{'string'}/; ... last } Тогда строки для проверки на совпадение будут отвязаны от кода. Можно еще и реакцию (exec) по совпадению строки вынести в этот же массив, но тогда что-то совсем уж универсальное получится. Можно сократить глубину вложенности массива данных используя в качестве ключей весовые коэффициенты, но тогда не может быть двух одинаковых коэффициентов, а кому-то непременно захочется именно этого.:) Andrey --- GoldED+/BSD 1.1.5 * Origin: PGP KeyID 2ABEC67A andrey @ ostanovsky. spb. ru (2:5030/1957) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/2860448490b4.html, оценка из 5, голосов 10
|