|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Dmitry Ponyatov 2:5057/18.29 28 Mar 2003 19:47:04 To : Roman Medvedev Subject : Подсчет траффика по отдельным ip адресам -------------------------------------------------------------------------------- RM> Описывать все интересующие цепочки в ipchains и потом смотреть RM> cat /proc/net/ip_fwchains после чего обнулять цепочки как-то RM> некрасиво. Именно так это все и далется _всеми traffic-counterами в Linux_ -- они отличаются только синтаксисом файлов конфигурации, выходными форматами и наличием графической морды (и их тормознутостью, определяемой на чем они написаны (bach/python/perl/C) и где хранят данные (лог-файлы/СУБД)). Hу еще отличаются тем, используют ipchains (ядра 2.2.x) или iptables (2.4.x). Как я сделал свой счетчик -- взял kernel-2.4.18, iptables, по cronу каждую минуту делал iptables -t nat -L -v -Z >/var/log/ipcount/`date +%Y%m`, для сбора суммарной статистики скармливаю логи пропустив через grep простой программке-сумматору, написанной на С. Канал у меня медленный, поэтому потеря статистики по трафику за минуту из-за повисания или сбоя не важна. Hа хорошем канале вместо cronа лучше использовать bash-скрипт с бесконечным циклом с интервалом в 5-10 секунд. Требования к счетчику у меня несложные -- считать трафик общий|pop3/smtp|http|ftp для двух сетей, поэтому настройки iptables гружу /etc/init.d/ipcounter: iptables `cat /etc/ipcounter.conf` и сделал двух юзеров open и close, чтобы из одной сети можно было выключать/включать инет. Если нужен графический интерфейс, я бы сделал его на web-сервере, написанном на Python (минимальный - 30 строк), запущенном на свободном порту. ЗЫ: файл лога за месяц имеет размер 100-200 Кб. --- * Origin: mailto: forth@hippo.ru (2:5057/18.29) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/242694270d92a.html, оценка из 5, голосов 10
|