forum.bitel.ru
http://forum.bitel.ru/

Как прогрепать radius.log по определенному логину
http://forum.bitel.ru/viewtopic.php?f=5&t=3173
Страница 1 из 1

Автор:  Dmitri [ 12 ноя 2009, 11:39 ]
Заголовок сообщения:  Как прогрепать radius.log по определенному логину

Уважаемые коллеги, большая просьба подсказать, как прогрепать radius.log на предмет всех записей по определенному логину. Никак не осилю. Каждая запись ведь многострочная. А еще бы и респонзы как-то зацепить все...

Автор:  jack7 [ 13 ноя 2009, 16:06 ]
Заголовок сообщения:  Re: Как прогрепать radius.log по определенному логину

Код:
#!/usr/bin/perl -W
# j4ck, 2009
# find.pl

use strict;
use Fcntl;
use Getopt::Std;

my $file = "radius.log";
my %opts = ();
my $count = 0;

getopts('l:',\%opts);


die("[!] В текущей директории не найден файл radius.log") unless -e $file;
die("[!] Укажите аргументом -l искомый логин") unless $opts{l};

sysopen(MF,$file,O_RDONLY) or die("[!] Не могу открыть файл $file для чтения");

                $/ = 'ACCOUNT:';

        print "[~] Поиск логина $opts{l}..\n";

        while(<MF>) {

                $count++;

                if(/User-Name=$opts{l}\n/) {
                        print $_;
                }
        }

print "\n\n[~] Поиск закончен, всего просмотрено $count записей\n";
close(MF);


я пользуюсь таким, он должен быть в папке BGBillingServer/BGRadiusDialup/log

например поиск логина 1234
find.pl -l 1234

Автор:  Dmitri [ 22 ноя 2009, 02:45 ]
Заголовок сообщения:  Re: Как прогрепать radius.log по определенному логину

Огромное спасибо! Будем использовать!

Автор:  aardvark [ 23 ноя 2009, 17:41 ]
Заголовок сообщения:  Re: Как прогрепать radius.log по определенному логину

jack7, я видимо совсем ничего не знаю в перле, посему вопрос что делает (или чего ожидает конструкция)
Код:
while(<MF>)

Это Match Found или что-то еще?
....Понял дескриптор это, совсем слепой стал.

Автор:  jack7 [ 23 ноя 2009, 17:51 ]
Заголовок сообщения:  Re: Как прогрепать radius.log по определенному логину

aardvark писал(а):
jack7, я видимо совсем ничего не знаю в перле, посему вопрос что делает (или чего ожидает конструкция)
Код:
while(<MF>)

Это Match Found или что-то еще?
....Понял дескриптор это, совсем слепой стал.


MF - дискриптор файла

Код:
while(<MF>)


это построчный просмотр файла через указанный дискриптор, строкой считается набор символов между переменной $/

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/