Учёт трафика
MooSE 27 ноября, 2005 - 19:27
Вобщем проблема такая:
У меня дома интернет через 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. Не работает. В логи пишет вот это:
Я так подозевая что надо что-то включить в ядре. (или не в ядре дело?). Вобщем кто сталкивался с этой проблемой - помогите пожалуйста.
собрать ядро с
собрать ядро с поддержкой netlink и желательно включить все модули ipfilter (то бишь для iptables)
хочу отметить что данная штука пишет все данные в файл в формате netflow в принципе детальность вывода настраивается - сама аггрегировать не умеет, нужно сложить в базу (понадобится mysql или postgresql, еще наверное можно попробовать sqlite) и посчитать sql-запросом. Парсер пишется на коленке за полчаса - также в комплекте идет скрипт на php для складывания в базу.
Можно еще попробовать trafd
Включил netlink.
Включил netlink. iptables включены толкьо самые необходимые модули. Не работает. Какие именно модули нужны для нормальной работы этой штуки?
вроде бы модуль
вроде бы модуль ulog -он так и называется. да кстати vnstat как простенькая смотрелка общего трафика пролетевшего через ифейс пойдет без разбора по ип и портам
Весь трафик с
Весь трафик с сетевой: vnstat
Более гибкие коллекторы и в мускул: pmacct
Могу
Могу предолжить следующий совершенно тупой вариант: Если стоит gkrellm, то тогда в общем-то больше ничего и не надо :-) Если навести курсор на график, отображающий сетевую активность, то появляется маленькая кнопочка --- на неё нажимаешь и смотришь статистику.
Этот вариант
Этот вариант точно не катит:)
Написал вот
Написал вот такой скрипт:
оно вроде как весь мой траф пишет в логи. На двенадцатую консоль. Остался вопрос: Как эти логи собирать и обрабатывать?
Вы
Вы представляете обьем информации которая будет туда сыпаться?? Это какой-то извращенный метод сбора статистики, по-моему лучше использовать средства изначально для этого предназначенные, как-то 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 вот такую строчку:
В выходные скорее всего напишу простенький скрипт для суммирования трафика. Если справлюсь то само собой приведу его листинг здесь.
Твой подход с
Твой подход с ifconfig - не совсем верный...
Я например еще иногда хожу настроить свой ADSL-модем (Dynamix UMA+)
а там очень навароченая картинками веб-морда.... меньше 1-2 мега за настройку не приходилось видеть трафика....