Учёт трафика

Вобщем проблема такая:

У меня дома интернет через ADSL. Оплата по трафику. Поэтому этот самый трафик нудно как-то считать.

Как это лучше всего делать? Каким пакетом. И если не трудно - сразу приводите реально примеры. Просто не хватает времени на разбор в документации.

Как вариант,

Как вариант, для учета http трафика, можно использовать локальную проксю - squid, она и трафик немного сбережет и потом логи можно анализировать с помощью sarge. Он сгенерит html страничку со всей статистикой. Настраивается squid не сложно, по примерам в конфиге разобраться реально, а потом в браузере пропишешь прокси сервером себя (127.0.0.1:3128).

Нужно

Нужно подсчитывать весь трафик. А не только http.

Мне по работе часто бывает нужен telnet и SSH

Этоже

Этоже элементарно:
http://www.netams.com

Можно еще ipcad

Можно еще ipcad попробовать. Есть в портежах, работает по цисковской технологии (ip Cisco Accounting Daemon)

emerge ulog-acctd

emerge ulog-acctd

Запускаю ulog-acctd.

Запускаю ulog-acctd. Не работает. В логи пишет вот это:

localhost ~ # cat /var/log/ulog-acctd/debug.log
Dec 06 07:59:09 [ERROR] can't bind to netlink socket: No such file or directory

Я так подозевая что надо что-то включить в ядре. (или не в ядре дело?). Вобщем кто сталкивался с этой проблемой - помогите пожалуйста.

собрать ядро с

собрать ядро с поддержкой netlink и желательно включить все модули ipfilter (то бишь для iptables)

хочу отметить что данная штука пишет все данные в файл в формате netflow в принципе детальность вывода настраивается - сама аггрегировать не умеет, нужно сложить в базу (понадобится mysql или postgresql, еще наверное можно попробовать sqlite) и посчитать sql-запросом. Парсер пишется на коленке за полчаса - также в комплекте идет скрипт на php для складывания в базу.

Можно еще попробовать trafd

Включил netlink.

Включил netlink. iptables включены толкьо самые необходимые модули. Не работает. Какие именно модули нужны для нормальной работы этой штуки?

вроде бы модуль

вроде бы модуль ulog -он так и называется. да кстати vnstat как простенькая смотрелка общего трафика пролетевшего через ифейс пойдет без разбора по ип и портам

Весь трафик с

Весь трафик с сетевой: vnstat
Более гибкие коллекторы и в мускул: pmacct

Могу

Могу предолжить следующий совершенно тупой вариант: Если стоит gkrellm, то тогда в общем-то больше ничего и не надо :-) Если навести курсор на график, отображающий сетевую активность, то появляется маленькая кнопочка --- на неё нажимаешь и смотришь статистику.

Этот вариант

Этот вариант точно не катит:)

Написал вот

Написал вот такой скрипт:

#!/bin/sh
iptables -F
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j LOG
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -P INPUT DROP
/etc/init.d/iptables save

оно вроде как весь мой траф пишет в логи. На двенадцатую консоль. Остался вопрос: Как эти логи собирать и обрабатывать?

Вы

Вы представляете обьем информации которая будет туда сыпаться?? Это какой-то извращенный метод сбора статистики, по-моему лучше использовать средства изначально для этого предназначенные, как-то Netflow. Хотя возможно это решение покажется несколько громоздким.
Подробнее: http://tula.bofh.ru/articles/383 , http://dreamcatcher.ru/docs/netflow_report.html

Если вы всё-таки хотите идти своим путем, то в сети много примеров скриптов (в основном на перле) и программ, которые парсят информацию из логов iptables и выдают ее в более-менее читабельном виде.

Насколько я

Насколько я знаю netflow ставиться на роутере. Здесь же речь идёт об учёте трафика на локальной машине. По условиям задачи за её пределы выходить нельзя.

??

Вы в каком виде хотите свою статистику видеть? html? За какой-то период или на текущий момент? по портам или только общий трафик?

Если я не

Если я не ошибаюсь в Iptables предусмотрена статистика, там есть счетчики, показывающие сколько пакетов подошло под правило и их суммарный объем. Соответственно надо создать правила, под которые попадает весь входящий трафик, но которые ничего не далают, а потом смотреть
iptables -Lv
А еще какой-то ключ отвечает за сброс этих счетчиков.

Мне б пример

Мне б пример таких правил.. Я пробовал это. Просто у меня вообще запредеельныы цифры почему-то получались....

Нашёл-таки

Нашёл-таки решение которое меня удовлетворило:

команда ifconfig кроме всего прочем выводит инфу о входящем и исходящем трафике через интерфейс. Поскольку я подключаюсь при включении компьютера а отключаюс при выключении, то мне достаточно перед выключением сохранять информацию о трафе.Для этого я просто дописал в /etc/conf.d/local.stop вот такую строчку:

/sbin/ifconfig eth0 |grep bytes >> /var/log/internet.log

В выходные скорее всего напишу простенький скрипт для суммирования трафика. Если справлюсь то само собой приведу его листинг здесь.

Твой подход с

Твой подход с ifconfig - не совсем верный...
Я например еще иногда хожу настроить свой ADSL-модем (Dynamix UMA+)
а там очень навароченая картинками веб-морда.... меньше 1-2 мега за настройку не приходилось видеть трафика....

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".