Не хранится детализированный трафик

Технические вопросы по UTM 5.0
Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

Сообщение Magnum72 »

Scorp писал(а):Извините за ламерский вопрос.
А где в UTM5 прописать настройки на файлы из утилиты Magnum72.
check_ds
raw_fd_script
Просто положите raw_fd_script в UTM5/bin/

Scorp
Сообщения: 3
Зарегистрирован: Вт янв 27, 2009 20:00

Сообщение Scorp »

Спасибо за утилиту и за ответ!

alexsw
Сообщения: 2
Зарегистрирован: Пт дек 25, 2009 14:49

Сообщение alexsw »

Не хотел постить новую тему т.к. вопрос относительно скрипта (raw_fd_script) для детализации трафика .

Имеется установленная система FreeBSD 6.3-RELEASE i386, на ней только ядро utm5-2.1.006. Апач и мускуль на другой системе. Хотел воспользоваться скриптом, но эффекта никакого. В top`е запуск сприпта не видно.

Сделал все как написано в readme.txt . Даже прописал в настройках raw_fd_process_script, что тоже не дало результата.

Скрипт (raw_fd_script) подправил под себя

Код: Выделить всё

 #!/usr/bin/perl

use Compress::Zlib;
sub loger;

$fileUTM = shift;
$home = "/stat/";
$logdir = "/var/log";
$log  = $logdir."/ds.log";
opendir( DIRHANDLE, $logdir ) || die "Mount ERROR!";

if ( $fileUTM eq "" ) {
    loger "No parametr!", "ERROR";
}
loger "$fileUTM", "START";
$size = ( stat( $fileUTM ) )[7];
if ( $size % 76 != 0 ) {
    loger "Error UTM file!", "ERROR";
}
$rec  = $size/76;
loger "Size: $size Record: $rec", "INFO";
open &#40; FH, "< $fileUTM" &#41; or loger " Error open file $fileUTM", "ERROR";

for &#40; $i=1; $i<=$rec; $i++ &#41; &#123;
    read &#40; FH, $t, 4 &#41;;                 # 1-4
    read &#40; FH, $src_ip, 4 &#41;;            # 5-8
    read &#40; FH, $dst_ip, 4 &#41;;            # 9-12
    read &#40; FH, $t, 8 &#41;;                 # 13-20
    read &#40; FH, $packets, 4 &#41;;           # 21-24
    read &#40; FH, $bytes, 4 &#41;;             # 25-28
    read &#40; FH, $time1, 4 &#41;;             # 29-32
    read &#40; FH, $time2, 4 &#41;;             # 33-36
    read &#40; FH, $src_port, 2 &#41;;          # 37-38
    read &#40; FH, $dst_port, 2 &#41;;          # 39-40
    read &#40; FH, $t, 16 &#41;;                # 41-56
    read &#40; FH, $account_id, 4 &#41;;        # 57-60
    read &#40; FH, $t, 4 &#41;;                 # 61-64
    read &#40; FH, $t_class, 4 &#41;;           # 65-68
    read &#40; FH, $timestamp, 4 &#41;;         # 69-72
    read &#40; FH, $t, 4 &#41;;                 # 73-76

    $tc = unpack &#40; "%32I" , $t_class &#41;;
    $account_id = unpack &#40; "%32I" , $account_id &#41;;
    if &#40; $tc == 0 &#41; &#123;
        $account_id = "a";
    &#125;
    $t_class = pack &#40; "S" , $tc &#41;;

    @time = localtime&#40; unpack &#40; "%32I" , $timestamp &#41; &#41;;
    $dirs=&#40; $time&#91;5&#93;+1900 &#41;."-".sprintf&#40; "%02d", $time&#91;4&#93;+1 &#41;;

#                                4      4       4       4     2        2        2       4        = 26
$arr&#123;$account_id&#125;&#123;$dirs&#125; .= "$src_ip$dst_ip$packets$bytes$src_port$dst_port$t_class$timestamp";
&#125;
close FH;

$i=0;

foreach $k &#40; keys %arr &#41; &#123;
    foreach $d &#40; keys %&#123;$arr&#123;$k&#125;&#125; &#41; &#123;
        $dir = $home.$d;
        opendir&#40; DIRHANDLE, $dir &#41; || mkdir&#40; $dir, 0755 &#41;;
        open  FH, ">>$dir/$k.ds.gz" or loger " Error open file $home/$k.utm\n", "ERROR";
        print FH Compress&#58;&#58;Zlib&#58;&#58;memGzip&#40; $arr&#123;$k&#125;&#123;$d&#125; &#41;;
        close FH;
        $i++;
    &#125;
&#125;
loger "account&#58; $i", "OK";
exit 0;

sub loger &#123;
    $mess = shift;
    $error= shift;
    @time = localtime&#40;&#41;;
    $t = &#40; $time&#91;5&#93;+1900 &#41; . "-" . sprintf&#40; "%02d", $time&#91;4&#93;+1 &#41; . "-" . sprintf&#40; "%02d", $time&#91;3&#93; &#41; . " $time&#91;2&#93;&#58;$time&#91;1&#93;&#58;$time&#91;0&#93;";
    open &#40; FH, ">> $log" &#41;;
    print FH "$error&#58; $t\n";
    print FH "$mess\n";
    close FH;
    if &#40; $error eq "ERROR" &#41;
    &#123;
        exit 0;
    &#125;
&#125;
 
Ошибок в журналах нет.

Переменная $home-это где логи будут храниться?

Подскажите в чем может быть проблема?

Заранее благодарен.

linx
Сообщения: 29
Зарегистрирован: Ср окт 01, 2008 12:10

Сообщение linx »

можно подсказать, как правильно запустить unpack-ds, так понимаю синтаксис команды неправилен?

Код: Выделить всё

/netup/utm5/bin/unpack-ds /mnt/detalka/2010-08/4.ds.gz
 Error open fole /mnt/detalka/2010-08/4.ds.gz at /netup/utm5/bin/unpack-ds line 9.

linx
Сообщения: 29
Зарегистрирован: Ср окт 01, 2008 12:10

Сообщение linx »

подбрал таки синтаксис:

Код: Выделить всё

/netup/utm5/bin/unpack-ds /mnt/detalka/2010-08/4.ds.gz 4 | gzip > 4.txt.gz
спасибо за утилиту и все таки правилен ли синтакис, или еще есть какие варианты?

Ответить