Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: 1 2 След.
RSS
NetFlow + flow-tools
 
Привет знатокам!
Уважаемые подскажите пожалуйста как получить отчет  c помощью Flow-tools чтобы было выведено Src_addr, dst_addr, Octets, Date, Time
Самое главное чтобы были эти поля.
Как этого добиться?

Заранее Всем благодарен!
 
Детально, чтобы другие вопросы по netflow самостоятельно решали
Курим man flow-export

-f format
2 ASCII CSV
-m mask_fields
UNIX_SECS       0x0000000000000001LL
SRCADDR         0x0000000000001000LL
DSTADDR         0x0000000000002000LL
DOCTETS         0x0000000000000040LL
====            0x0000000000003041LL
Итого
flow-export -f2 -m 0x3041 < flow-file

Имеем такой отчет
#:unix_secs,doctets,srcaddr,dstaddr
1219175703,544,88.254.197.4,172.27.1.48
1219175703,2225,212.72.49.143,172.27.1.49
1219175703,120,74.125.19.99,172.27.20.95
1219175703,59,172.27.1.3,212.44.130.6
.......


А на счет day и time - можно преобразовать unix time в day time я делал на перле, если надо могу поискать скрипт.
ну а преобразовать онлайн unix time в day time можно тут.
http://www.onlineconversion.com/unix_time.htm
Только учтите, что надо делать поправку на временную зону.
Изменено: gogo - 20.08.2008 16:39:16
 
С этим понятно. Спасибо.
Не понимаю как работают потоки.
пример:
IP адрес ипользуется с 20:15:00 по 20:17:45 потом этот ип адрес уходит другому компу.
мне надо знать сколько Octets использовал IP в этот промежуток времени.
когда я проводил эксперимент то у меня получилось, что этот трафик я увидел только через 16 минут. Почему так? И как добиться т.с. работы в real-time?
 
Кстати нашел другой способ и конвертировать не пришлось время
flow-cat flow_file |flow-print -f5 > /tmp/report
дальше у меня файлик обрабатывает перловый скрипт.

gogo Все равно большое спасибо.
 
Предположим, что флоу у на складируется в /var/flows/2008/2008-07/ (за июль). Предположим, что нам надо вывести детализацию IP 10.10.10.10 (входящий трафик). Формируем файл фильтров - /etc/flow-tools/cfg/filter.cfg:
filter-primitive spam
 type ip-address
 permit 10.10.10.10
 default deny
filter-definition xxx
 match dst-ip-addr spam
Потом даём такую команду (нам надо вывести за 21 июля с 14 до 15 часов). В файл:
flow-cat /var/flows/2008/2008-07/ft-v05.2008-07-21.14* | flow-nfilter -Fxxx |flow-stat -f10 -S4 > /home/soldier/detail/21_07_08.txt
Формат вывода в файле:
#
# Fields:    Total
# Symbols:   Disabled
# Sorting:   Descending Field 4
# Name:      Source/Destination IP
#
# Args:      flow-stat -f10 -S4
#
# src IPaddr     dst IPaddr       flows                 octets                packets
Остальное - man flow-stat
Изменено: SOLDIER - 20.08.2008 18:10:40
 
Как-то я ещё выводил со временем - сейчас вспоминать неохота. А пример свежий - буквально полчаса назад формировал детализацию для одной фирмочки. :)
 
Цитата
IP адрес ипользуется с 20:15:00 по 20:17:45 потом этот ип адрес уходит другому компу.
Я имею ввиду следующее.
при получении IP адреса компом PC1 в БД заноситься запись следующего вида:

Код
Date_enter    |   Time_enter    |    Date_exit    | Time_exit     | IP-address
20-08-2008    |    20:15:00     |   20-08-2008    | 20:17:45      | 10.0.1.111



потом ип адрес может меняться.
мне надо посчитать трафик за этот период. т.е. пока комп имел ип адрес 10.0.1.111 и конечно же был в сети. Собирая статистику каждые 5 минут я (проводя эксперимент) не видел своего трафика. Перегонял в этот промежуток времени трафик в 500 Мегабайт. flow-tools показывает, что пользователь всего получил и отправил 30 килобайт.
Немного погодя минут так 15-20 смотрю статистику и вижу что 500 МБ появляются. (Но они появились с огромной задержкой).
Может причина в том, что сначало же накапливается поток (flow) потом по истечению времени жизни поток "умирает" и  скидывает свою инфу на коллектор.
Сенсор у меня softflowd запущен с параметрами -i eth1 -n 127.0.0.1:8818
коллектор запущен с параметрами flow-capture -p /var/run/flow-cap.pid -N 0 -w /var/log/netflows -S 5 -n 287 0/127.0.0.1/8818

Подскажите как собирать статистику и притом реальную статистику! в указанный промежуток времени?

З.Ы. т.е. пользователь закончил работать с интернетом и  сразу же получилась его статистика.
 
в кокой промежуток твой netflow сервер отправляет пакеты ?
я пробовал на Микротике, там можно настроить чтобы пакеты отправлялись:
1. Через заданное время
2. После того как собирется например 2МБ инфы
и т.д.. не помню что еще было ...
а потом у меня был перловский скрипт, который слушал порт, брал пакеты, там филтры и еще что-то, и прям в базу дампал ...
 
На коллекторе трафика у меня:
flow-capture -R /usr/local/traf/flowcount2.pl -S 15 -z 5 -n 95 -N 2 -w /var/flows 0/0/9991
flowcount2.pl - Это скрипт, складывающий данные в базу. В данном случае он неважен. НетФлоу льётся с кошки 2960
Изменено: SOLDIER - 20.08.2008 19:24:34
 
Ваш вопрос появился потому, что Вы не до конца понимаете как и когда экспортируются потоки.
Итак допустим Вы начали качать по ftp 500Мб в 17:15, закончили в 17:30, в этом случае в 17:30 экспортнется одна запись об этих 500Мб. Она экспортнется потому, что tcp сессия закроется (будет получен tcp пакет с флагом FIN). Таким образом, пока идет закачка записи на вашем коллекторе потоков не появится.
Но, есть одно но.... Если поток старый (по умолчанию для tcp на cisco поток устаревает через 30 минут) то он будет экспортирован. Если, допустим закачка началась в 17:15 и закончилась в 18:20 то в 17:45 экспортнется поток в котором будет запись о скачанных, допустим 230Мб, в 18:15 еще один поток, допустим 240Мбайт и в 18:20 после закрытия tcp сессии поток об оставшихся 30Мбайтах (всего скачано 500Мбайт).
Теперь, исходя из знаний как потоки экспортируются и как сбрасываются в архив на коллекторе  потоки можно сконфигурировать cisco на более адекватный экспорт.
Допустим в архив  на коллекторе файлы складываются раз в 5 минут, тогда надо сконфигурить cisco на то, чтобы он считал устаревшим поток живущий более 5 минут (как конфигурить - не помню, проверить негде, но так можно делать).
Что касается протоколов не ориентированных на сессию типа UDP, ICMP, IPSec то потоки для  них сбрасываются либо по таймауту, как tcp, либо после некоторого времени неактивности.
Таймауты сброса и время неактивности для этих протоколов тоже конфигурятся.
Цитата

Кстати нашел другой способ и конвертировать не пришлось время
flow-cat flow_file |flow-print -f5 > /tmp/report

flow-print не дает времени когда поток был экспортирован, поэтому я его и не использовал в примере.
Вот это
UNIX_SECS 0x0000000000000001LL
Ничто иное, как время когда поток был экспортирован.
 
Цитата
Цитата

Цитата
Кстати нашел другой способ и конвертировать не пришлось время
flow-cat flow_file |flow-print -f5 > /tmp/report


flow-print не дает времени когда поток был экспортирован, поэтому я его и не использовал в примере.
Вот это
UNIX_SECS 0x0000000000000001LL
Ничто иное, как время когда поток был экспортирован.


т.е. в твоем случае выдается время экспорта потока
а в моем выдается общее время т.с. System_time?

в softflowd вроде можно ограничинить время жизни потока. только я достаточно много литературы перекопал но так и не нашел в каких единицах там указывается время.
 
Цитата
я пробовал на Микротике, там можно настроить чтобы пакеты отправлялись:
1. Через заданное время
2. После того как собирется например 2МБ инфы


Можно подробнее про Микротик?
Что такое?
 
gogo, я тут глянул Ваше второе сообщение. :) Вы забыли ещё один способ перевода юникстайма - через мускул:
select from_unixtime('тута_время_в_unixtime')
:) Просто подумалось.
 
1. http://www.pcrouter.ru/
2. http://www.opennet.ru/prog/info/1622.shtml
3. http://blogs.cetki.com/ros/
Короче - это операционка на базе Линух для создания софтового роутера.
Изменено: SOLDIER - 20.08.2008 19:43:33
 
А по НетФлоу, пожалуй, очень полезная документация на сайте CISCO. С очень подробным изложением теории - http://www.cisco.com/en/US/docs/ios/solutions_docs/netflow/nfwhite.html
 
Цитата
gogo пишет:
gogo

Не соглащусь с тобой.
Скажем если провайдер считает траффик с помощю нетфлоу, тогда по твоему, если у клиента на счети осталось токо 1МБ, то этим мегабайтом он может качануть еще 500МБ ??

По этому говорю, смотря как сконфигурирован сервер, котоый отправляет пакеты нетфлоу.


Цитата
grisha пишет:
Можно подробнее про Микротик? Что такое?

Как уже сказал SOLDIER, софтверный роутер на базе Линукс.
подробности тута: http://www.mikrotik.com/
 
Цитата
Скажем если провайдер считает траффик с помощю нетфлоу, тогда по твоему, если у клиента на счети осталось токо 1МБ, то этим мегабайтом он может качануть еще 500МБ ??

Да, конечно, если провайдер использует netflow для таких целей, если у вас хорошая скорость и если провайдер не выставил маленькое время устаревания потоков, и еще если запущен только  процесс скачивания. Слишком много если на мой взгляд :)
Вообще провайдер тут ни при чем, я объяснял как работает экспорт с маршрутизатора cisco. netflow с концепцией экспотирующего элемента и коллектора не есть нечто реалтаймовсое.
Когда вы открываете странички потоки быстро экспортируются, но когда вы качаете - не всегда быстро.
По netflow практически невозможно посмотреть кто на данный момент качает наиболее интенсивно. Если стоит такая задача на cisco при настроенном netflow, то можете настроить  top talkers и будете иметь статистику по еще не экспортнутым с маршрутизатора потокам. Конечно посмотреть такую статистику можно только с консоли, ну или есть желание можно выдирать ее с маршрутизатора по SNMP и рисовать через допустим, cgi на web-е.
 
Цитата
gogo, я тут глянул Ваше второе сообщение. С улыбкой Вы забыли ещё один способ перевода юникстайма - через мускул:

Ну да, а можно ведь и вот так
syslog# date -j -r 1219254114
Wed Aug 20 21:41:54 MSD 2008
:)
 
Цитата
gogo пишет:
Ну да, а можно ведь и вот так syslog# date -j -r 1219254114 Wed Aug 20 21:41:54 MSD 2008

А слона-то я и не приметил.  :oops:
 
т.е. я так понимаю, чтобы мне сделать более быстрое обновление статистики необходимо уменьшить время жизни потока. (примерно так уменьшить его до 1 минуты)
А уменьшение времени жизни потока не влияет на скорость работы соединения с интернетом?
Страницы: 1 2 След.
Читают тему