Народ, расскажите, как на с/с++ можно получить данные о проходящем трафике(какие правила есть и счётчики) через ipfw (BSD)?
>Народ, расскажите, как на с/с++ можно получить данные о проходящем трафике(какие правила
>есть и счётчики) через ipfw (BSD)?Ваш вопрос решен мною при помощи Perl-а.
Скрипт в фоновом режиме при помощи команды ipfw -a l | grep -w "count" берёт данные, в таком виде:
00321 15098 9187984 count ip from any to 192.168.1.2
00330 4761 457315 count ip from 192.168.1.2 to any
второе поле и есть трафик в байтах. Скрипт срабатывает каждую минуту. Даны записываются в MySQL, один раз записи вставляются в таблицу а на другой обновляются и записывается разница, тут и будет реальный трафик.
Но есть и другой способ:
http://www.opennet.me/base/net/pppoe_server.txt.html
>Ваш вопрос решен мною при помощи Perl-а.
чсетно говоря я не тот кто помещал вопрос но не могли бы вы сбросить на мой е-майл этот скрипт и простейшие рекомендации по настройке my-cql
просто подсчёт трафика и вывод сего в html на сайт на самом деле довольно необходимая весч. заранее спасибо. (alexofmy@mail.ru)
ipacctd + cron + postgres -> perl-> html
>ipacctd + cron + postgres -> perl-> html
да, всё круто а поточнее можно ?? :)))
и что такое ipacctd
у меня FReeBSD 4.5 RELEASE
http://gara.opennet.ru/ipacc/
Достаточно просто снимается через сокет значение счетчика байтов или пакетов на любом из правил. Если конечно стоит задача снимать с правил.
Если будет нужно брошу рабочий пример.
>Если будет нужно брошу рабочий пример.
Спасибо. скинь на мыло alexofmy@mail.ru
В данной задаче не столько программирование нужно, сколько правильно составить алгоритм.
Я как раз сейчас делаю систему учета трафика. ОС FreeBSD.
Делаю самодельную потому, что архитектура сети сложная (в логическом смысле). Использую счетчики из IPFW.Задача состояла в составлении набора правил для счетчиков, а потом еще и арифметические операции с ними.
Т.е. хочу сказать - нужно скакать от топологии сети и составить-связать комплекс готовых/самописанных программ.