URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 65956
[ Назад ]

Исходное сообщение
"ulogd - немогу найти количество байт в логах "

Отправлено fevil , 27-Апр-06 15:44 
Здраствуйте!

имею: linux RHEL4 upd 2, ulogd 1.23, iptables v1.2.11
ulogd пишет в mysql и в

правила:

$F -I FORWARD 1 -s 192.168.1.65 -j ULOG --ulog-prefix "usernat1"
$F -I FORWARD 1 -d 192.168.1.65 -j ULOG --ulog-prefix "usernat1"
$F -t nat -I POSTROUTING -s 192.168.2.254 -p icmp -o $EXT_ETH -j SNAT --to-source  $EXT_INTERF

в логах

* * *
Apr 27 13:10:08 router usernat1 IN=eth0 OUT=eth1 MAC=00:02:b3:e7:42:ae:00:03:e4:bd:d8:54:08:00  SRC=84.200.240.4 DST=192.168.2.95 LEN=119 TOS=00 PREC=0x00 TTL=52 ID=40376 CE DF PROTO=TCP SPT=6667 DPT=32976 SEQ=3422021206 ACK=86265940 WINDOW=1448 ACK PSH URGP=0
Apr 27 13:10:08 router usernat1 IN=eth1 OUT=eth0 MAC=00:13:20:a3:b5:e1:00:07:e9:3a:d2:8b:08:00  SRC=192.168.2.95 DST=84.200.240.4 LEN=40 TOS=00 PREC=0x00 TTL=63 ID=73 DF PROTO=TCP SPT=32976 DPT=6667 SEQ=86265940 ACK=0 WINDOW=0 RST URGP=0
* * *

в mysql тоже самое.

необходимо сделать статистику для нескольких пользователей которые идут не через прокси сервер вот только не могу найти где информация о количестве пакетов и байт

iptable -h -j ULOG  нашел  --set-counters PKTS BYTES     set the counter during insert/append
ну чтото не вышло у меня

подскажите кто знает.

заранее благодарен!!!


Содержание

Сообщения в этом обсуждении
"ulogd - немогу найти количество байт в логах "
Отправлено fevil , 27-Апр-06 15:53 
>$F -I FORWARD 1 -s 192.168.1.65 -j ULOG --ulog-prefix "usernat1"
>$F -I FORWARD 1 -d 192.168.1.65 -j ULOG --ulog-prefix "usernat1"
>$F -t nat -I POSTROUTING -s 192.168.2.254 -p icmp -o $EXT_ETH -j
>SNAT --to-source  $EXT_INTERF

следует читать как

$F -I FORWARD 1 -s 192.168.2.95 -j ULOG --ulog-prefix "usernat1"
$F -I FORWARD 1 -d 192.168.2.95 -j ULOG --ulog-prefix "usernat1"
$F -t nat -I POSTROUTING -s 192.168.2.95 -o $EXT_ETH -j SNAT --to-source  $EXT_INTERF

извеняюсь не те правила вставил.


"ulogd - немогу найти количество байт в логах "
Отправлено dan , 27-Апр-06 16:37 
>* * *
>Apr 27 13:10:08 router usernat1 IN=eth0 OUT=eth1 MAC=00:02:b3:e7:42:ae:00:03:e4:bd:d8:54:08:00  SRC=84.200.240.4 DST=192.168.2.95 LEN=119
>TOS=00 PREC=0x00 TTL=52 ID=40376 CE DF PROTO=TCP SPT=6667 DPT=32976 SEQ=3422021206 ACK=86265940
>WINDOW=1448 ACK PSH URGP=0
>Apr 27 13:10:08 router usernat1 IN=eth1 OUT=eth0 MAC=00:13:20:a3:b5:e1:00:07:e9:3a:d2:8b:08:00  SRC=192.168.2.95 DST=84.200.240.4 LEN=40
>TOS=00 PREC=0x00 TTL=63 ID=73 DF PROTO=TCP SPT=32976 DPT=6667 SEQ=86265940 ACK=0 WINDOW=0
>RST URGP=0
>* * *

#:-0
В данном куске логов ясно написано: LEN(сокращение от LENGTH - ДЛИНА англ.)=...
Каждая строчка это пакет(ОДИН).
А в mysql должно быть отдельное поле для каждого элемента заголовка пакета. (см. в пакете ulogd \usr\share\doc\ulogd\mysql.table)


"ulogd - немогу найти количество байт в логах "
Отправлено fevil , 28-Апр-06 08:11 
c ликбесом по LENGHT спасибо :)

вот только в базе кроме udp_len ничего нет, да и в таблице поле везде NULL
подскажите кто сталкивался ..

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


заранее очень благодарен!!!


"ulogd - немогу найти количество байт в логах "
Отправлено fevil , 18-Июл-07 12:10 
я сделал ещё одну таблицу в mysql
и каждый час делаю такой запрос:

start TRANSACTION;
insert into stat (traff_in, traff_out, name, log_date)
select sum(ip_in), sum(ip_out), k, log_date
from
(
select
     if(INET_NTOA(ip_saddr) like '192.168.%', ip_totlen, 0) as ip_out,
     if(INET_NTOA(ip_daddr) like '192.168.%', ip_totlen, 0) as ip_in,
     if (INET_NTOA(ip_saddr) like '192.168.%', INET_NTOA(ip_saddr), INET_NTOA(ip_daddr)) as k,
     date(from_unixtime(oob_time_sec)) as log_date
from ulog_router
where oob_time_sec > UNIX_TIMESTAMP('2007-07-01')
      and oob_time_sec < UNIX_TIMESTAMP('2007-07-31')
) a
group by k, log_date;

delete
from ulog_router
where oob_time_sec > UNIX_TIMESTAMP('2007-07-01') and
      oob_time_sec < UNIX_TIMESTAMP('2007-07-31');

commit;


а дальше из этой таблички простенький скипт выводит отчтик