Все в точности до байтика считает мой perl-скрипт (сравниваю с показаниями счетчиков iptables), когда я его запускаю при отсутствии сетевой активности, но если я его запускаю во время даже небольшой активности, то пакетики теряются.
Считываю лог вот так:
проблема имхо в самом ulog'е... в свое время то-же думал так анализировать трафик и жестоко обломался. в зависимости от тех целей на которые вы расчитываете ulog, возможно найдуться разные решения.
если вы хотите не просто складывать данные о предупреждениях чего-то заблокированного, а скажем считать трафик - предлагаю посмотреть в сторону технологии netflow.
«Когда у общества нет цветовой дифференциации штанов — то нет цели!»
Цель такая: собирать и складывать в mysql траффик, попадающий под определенные правила iptables, без тарификации (ее я осуществляю более надежным, как я считаю, средством - iptables), так что всякие netflow не подойдут.
Может есть более старая, но безглючная версия ulog-acctd или другой нормальный ulog-демон ?
Все нормально ! Нашел ошибку в своем скрипте. Прямо мистика какая-то ! Отлично помню как я писал строку запроса добавления записи в mysql: ".. ON DUPLICATE KEY UPDATE bytes=bytes+$bytes ...", и сейчас совершенно случайно обнаружил что там стоит "bytes=$bytes" ! Эта зараза и затирала предыдущие счетчики, благодаря чему общий траф благополучно уменьшался. Похоже в компе завелся баг... или в голове... O.o