Здраствуйте!имею: 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
ну чтото не вышло у меняподскажите кто знает.
заранее благодарен!!!
>$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извеняюсь не те правила вставил.
>* * *
>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)
c ликбесом по LENGHT спасибо :)вот только в базе кроме udp_len ничего нет, да и в таблице поле везде NULL
подскажите кто сталкивался ..и подскажите если кто знает где можно посмотреть скрипты для вывода этой базы, кроме webfwlog.
заранее очень благодарен!!!
я сделал ещё одну таблицу в 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;
а дальше из этой таблички простенький скипт выводит отчтик