FATHER_FBI Опубликовано 25 августа, 2015 · Жалоба Да, фича делалась именно для такого случая :) Чудесная замена yes на on везде решит вашу проблему :) И вправду решило) Запутался в on/off, yes/no Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 25 августа, 2015 · Жалоба Я эту "фичу" исправлю, честно-честно :( Я уже и не помню, что мне в голову ударило сделать on и no вместо хотя бы on/off no/yes... :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
FATHER_FBI Опубликовано 25 августа, 2015 · Жалоба Я эту "фичу" исправлю, честно-честно :( Я уже и не помню, что мне в голову ударило сделать on и no вместо хотя бы on/off no/yes... :) Павел вам нужно поработать над документацией. Потому что даже в вашем гите не сказано где лежит тот же самый конфиг. Я конечно понимаю что программа предназначена для узкого круга специалистов, но тем не менее это болезнь всех Русских программистов, что у вас документация с примерами отсутствует что в соседней теме theNOC project тоже документация и примеры отсутствуют. Хотя оба продукта очень интересные и аналогов у них нету. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 25 августа, 2015 · Жалоба Отличные новости! Начинаем бета-тестирование бинарных сборок под все ключевые платформы: https://github.com/FastVPSEestiOu/fastnetmon/blob/master/docs/PACKAGES_INSTALL.md !!! Фидбэк велкам :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 25 августа, 2015 · Жалоба Я эту "фичу" исправлю, честно-честно :( Я уже и не помню, что мне в голову ударило сделать on и no вместо хотя бы on/off no/yes... :) Павел вам нужно поработать над документацией. Потому что даже в вашем гите не сказано где лежит тот же самый конфиг. Я конечно понимаю что программа предназначена для узкого круга специалистов, но тем не менее это болезнь всех Русских программистов, что у вас документация с примерами отсутствует что в соседней теме theNOC project тоже документация и примеры отсутствуют. Хотя оба продукта очень интересные и аналогов у них нету. Рекомендую подписаться на рассылку https://groups.google.com/forum/#!forum/fastnetmon и почитать архивы + подписаться на IRC. Функции новые и добавляются буквально каждую неделю и описываются именно там, обычно документация еще никуда не дублируется. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
shaytan Опубликовано 25 августа, 2015 (изменено) · Жалоба Установлена dev версия из git. Linux debian8 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u3 (2015-08-04) x86_64 GNU/Linux В выводе клиента выводится статистика всегда для [max_ips_in_list + 1] IP адресов. Куда посмотреть? /etc/fastnetmon.conf ... # Netmap traffic capture (very fast but need patched drivers) mirror_netmap = on # Port mirroring could be sampled netmap_sampling_ratio = 1 ... ### ### Client configuration ### # Field used for sorting in client, could be: packets, bytes or flows sort_parameter = packets # How much IP's we will list for incoming and outgoing channel eaters max_ips_in_list = 10 ========================================================== FastNetMon 1.1.3 master FastVPS Eesti OU © VPS and dedicated: http://FastVPS.host IPs ordered by: packets Incoming traffic 685494 pps 5665 mbps 0 flows xxx.xxx.99.70 17325 pps 166 mbps 0 flows xxx.xxx.99.93 17071 pps 157 mbps 0 flows xxx.xxx.99.153 16270 pps 159 mbps 0 flows xxx.xxx.99.66 15595 pps 164 mbps 0 flows xxx.xxx.99.77 14381 pps 147 mbps 0 flows xxx.xxx.99.103 14308 pps 148 mbps 0 flows xxx.xxx.99.35 14228 pps 129 mbps 0 flows xxx.xxx.99.131 13611 pps 116 mbps 0 flows xxx.xxx.99.114 13539 pps 103 mbps 0 flows xxx.xxx.99.140 12653 pps 131 mbps 0 flows xxx.xxx.65.11 0 pps 0 mbps 0 flows Outgoing traffic 481688 pps 1979 mbps 0 flows xxx.xxx.99.70 12689 pps 35 mbps 0 flows xxx.xxx.99.114 10749 pps 48 mbps 0 flows xxx.xxx.99.71 9813 pps 45 mbps 0 flows xxx.xxx.99.35 9773 pps 35 mbps 0 flows xxx.xxx.99.131 9673 pps 34 mbps 0 flows xxx.xxx.99.66 9317 pps 17 mbps 0 flows xxx.xxx.99.28 9019 pps 73 mbps 0 flows xxx.xxx.99.50 8926 pps 41 mbps 0 flows xxx.xxx.99.81 8565 pps 48 mbps 0 flows xxx.xxx.99.153 8216 pps 12 mbps 0 flows xxx.xxx.65.11 0 pps 0 mbps 0 flows Internal traffic 10 pps 0 mbps Other traffic 14 pps 0 mbps Screen updated in: 0 sec 987 microseconds Traffic calculated in: 0 sec 2580 microseconds Total amount of IPv6 packets related to our own network: 0 Total amount of not processed packets: 4488318 Изменено 25 августа, 2015 пользователем shaytan Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
FATHER_FBI Опубликовано 25 августа, 2015 · Жалоба Установлена dev версия из git. Linux debian8 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u3 (2015-08-04) x86_64 GNU/Linux В выводе клиента выводится статистика всегда для [max_ips_in_list + 1] IP адресов. Куда посмотреть? /etc/fastnetmon.conf ... # Netmap traffic capture (very fast but need patched drivers) mirror_netmap = on # Port mirroring could be sampled netmap_sampling_ratio = 1 ... ### ### Client configuration ### # Field used for sorting in client, could be: packets, bytes or flows sort_parameter = packets # How much IP's we will list for incoming and outgoing channel eaters max_ips_in_list = 10 ========================================================== FastNetMon 1.1.3 master FastVPS Eesti OU © VPS and dedicated: http://FastVPS.host IPs ordered by: packets Incoming traffic 685494 pps 5665 mbps 0 flows xxx.xxx.99.70 17325 pps 166 mbps 0 flows xxx.xxx.99.93 17071 pps 157 mbps 0 flows xxx.xxx.99.153 16270 pps 159 mbps 0 flows xxx.xxx.99.66 15595 pps 164 mbps 0 flows xxx.xxx.99.77 14381 pps 147 mbps 0 flows xxx.xxx.99.103 14308 pps 148 mbps 0 flows xxx.xxx.99.35 14228 pps 129 mbps 0 flows xxx.xxx.99.131 13611 pps 116 mbps 0 flows xxx.xxx.99.114 13539 pps 103 mbps 0 flows xxx.xxx.99.140 12653 pps 131 mbps 0 flows xxx.xxx.65.11 0 pps 0 mbps 0 flows Outgoing traffic 481688 pps 1979 mbps 0 flows xxx.xxx.99.70 12689 pps 35 mbps 0 flows xxx.xxx.99.114 10749 pps 48 mbps 0 flows xxx.xxx.99.71 9813 pps 45 mbps 0 flows xxx.xxx.99.35 9773 pps 35 mbps 0 flows xxx.xxx.99.131 9673 pps 34 mbps 0 flows xxx.xxx.99.66 9317 pps 17 mbps 0 flows xxx.xxx.99.28 9019 pps 73 mbps 0 flows xxx.xxx.99.50 8926 pps 41 mbps 0 flows xxx.xxx.99.81 8565 pps 48 mbps 0 flows xxx.xxx.99.153 8216 pps 12 mbps 0 flows xxx.xxx.65.11 0 pps 0 mbps 0 flows Internal traffic 10 pps 0 mbps Other traffic 14 pps 0 mbps Screen updated in: 0 sec 987 microseconds Traffic calculated in: 0 sec 2580 microseconds Total amount of IPv6 packets related to our own network: 0 Total amount of not processed packets: 4488318 xxx.xxx.65.11 Это случайно не локальный IP? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
shaytan Опубликовано 25 августа, 2015 · Жалоба xxx.xxx.65.11 Это случайно не локальный IP? Нет, и в конфете отключено: # With this option enabled we could add local IP addresses and aliases to monitoring list # Works only for Linux monitor_local_ip_addresses = no Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 26 августа, 2015 · Жалоба shaytan, а можете наложить патчик на fastnetmon.cpp вот такой: -element_number > max_ips_in_list +element_number >= max_ips_in_list И после этого пересобрать? Должно помочь. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
shaytan Опубликовано 26 августа, 2015 (изменено) · Жалоба shaytan, а можете наложить патчик на fastnetmon.cpp вот такой: -element_number > max_ips_in_list +element_number >= max_ips_in_list И после этого пересобрать? Должно помочь. Да, помогло. Еще вопрос, о чем говорит постоянное увеличение значения счетчика в выводе fastnetmon_client? Total amount of not processed packets: 4796354 Изменено 26 августа, 2015 пользователем shaytan Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 26 августа, 2015 · Жалоба Спасибо за тест, исправил в основной версии. Означает, что это либо IPv6 трафик либо ARP либо еще что-то в чем нет понятия IP адреса. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
shaytan Опубликовано 26 августа, 2015 (изменено) · Жалоба Спасибо за тест, исправил в основной версии. Означает, что это либо IPv6 трафик либо ARP либо еще что-то в чем нет понятия IP адреса. 200000pps? Не может быть. Еще заметил что FNM не весь трафик мониторит. По Outgoing traffic все правильно показывает, а по Incoming traffic примерно 20% не показывает. Это при условии что мониторится порт между Cisco и JuniperMX, А если снимать трафик между Cisco и Cisco то все точно показывает. Как проверить что FNM не может разобрать? PS. Сейчас с аплинками используем BGP FlowSpec в ручном режиме, как добьемся правильных значений трафика в FNM, хотим поднять BGP FS с FSN для автоматической блокировки. Изменено 26 августа, 2015 пользователем shaytan Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 26 августа, 2015 · Жалоба Это не pps, это суммарное число пакетов с момента запуска. А трафик чистый или vlan/qnq/mpls между циской и джуном летает? А режим захвата какой - PF_RING / netmap / sflow / netflow? Какие у Вас крутые аплинки - я такое еще не встречал, чтобы все умели :) Чтобы эффективно юзать флоу спек с оператором, нужна одна полезняшка от оператора. И если Вы ее начнете просить заранее - это сильно упростит интеграцию. Так как число правил Flow Spec дают жестко лимитированое, то со стороны оператора нужно выпросить SNMP или иной механизм, чтобы видеть динамику работы правил флоу спека. То есть, нужно фиксировать, какие правила отбивают трафик, а какие уже бесполезны и их нужно снимать. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
FATHER_FBI Опубликовано 26 августа, 2015 (изменено) · Жалоба Павел подскажите, как происходит определение атак типа amplification и как fastnetmon об этом уведомляет? Как определяется атака по pps, если на программу сливается sFlow и конфиг выглядит примерно так Global default sampling rate: 32768 Global default counter polling interval: 86400 Изменено 26 августа, 2015 пользователем FATHER_FBI Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 26 августа, 2015 · Жалоба У sFLOW слишком большой sampling rate. Разумные цифры обеспечивающие точный обсчет можно найти вот тут, например: http://blog.sflow.com/2009/06/sampling-rates.html Global default counter polling interval: 86400 - вот это не интересует вовсе, так как нагрузку по ифейсам мы не собираем сейчас в принципе. Если включен режим DPI, то в логе при успешном обнаружении атаки будет описан flow spec анонс, который был бы выброшен в данном случае. Определение амплификаций идет по внутренностям пакетов. Логика описана вот здесь: https://github.com/FastVPSEestiOu/fastnetmon/blob/master/src/fastnetmon.cpp#L3313 Она довольно слабая, нужно дообучение на реальных атаках. Если они есть - всегда с радостью приму шаблоны новых атак. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
shaytan Опубликовано 26 августа, 2015 · Жалоба Это не pps, это суммарное число пакетов с момента запуска. А трафик чистый или vlan/qnq/mpls между циской и джуном летает? А режим захвата какой - PF_RING / netmap / sflow / netflow? Какие у Вас крутые аплинки - я такое еще не встречал, чтобы все умели :) Чтобы эффективно юзать флоу спек с оператором, нужна одна полезняшка от оператора. И если Вы ее начнете просить заранее - это сильно упростит интеграцию. Так как число правил Flow Spec дают жестко лимитированое, то со стороны оператора нужно выпросить SNMP или иной механизм, чтобы видеть динамику работы правил флоу спека. То есть, нужно фиксировать, какие правила отбивают трафик, а какие уже бесполезны и их нужно снимать. Павел, я в pps указал скорость увеличения этого счетчика. Режим захвата netmap, трафик dot1q. Думаю может перейти на jflow с JuniperMX, т.к. статистику надо собирать с двух бордеров, которые еще установленны на двух разных площадках. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
FATHER_FBI Опубликовано 26 августа, 2015 · Жалоба У sFLOW слишком большой sampling rate. Разумные цифры обеспечивающие точный обсчет можно найти вот тут, например: http://blog.sflow.com/2009/06/sampling-rates.html Global default counter polling interval: 86400 - вот это не интересует вовсе, так как нагрузку по ифейсам мы не собираем сейчас в принципе. Если включен режим DPI, то в логе при успешном обнаружении атаки будет описан flow spec анонс, который был бы выброшен в данном случае. Определение амплификаций идет по внутренностям пакетов. Логика описана вот здесь: https://github.com/FastVPSEestiOu/fastnetmon/blob/master/src/fastnetmon.cpp#L3313 Она довольно слабая, нужно дообучение на реальных атаках. Если они есть - всегда с радостью приму шаблоны новых атак. Какая будет примерная прогрешность если sample ratio: 8192? Просто хочется понять как вообще происходит подсчет pps, тупо вычисляет количество пришедших пакетов и получает цифру pps или пытается кореллировать эту цифру с sample ratio? И как вычисляется mbps? Потому что если на 10G поставить sample ratio 2048, мне кажется ни одна железка не справится, она умрет или сгорит:-) Просто хочется понять какая погрешность при sFlow, потому что когда трафика много, нечем принять mirror. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 27 августа, 2015 · Жалоба Дык проще включить экспорт графика в Grahite из FNM и с самого свича по SNMP и сравнить :) Логика простая - sampling ration выдирается из потока и на него умножается число пакетов/байт полученное с/на конкретный хост за секунду. Но в sFLOW режиме стоит понимать, что никакого DPI или Flow Spec ожидать не стоит, внутренностей пакета, которые можно детально проанализировать в этом случае не хватает. Далеко не всегда можно разобраться что за протокол по куску хидера. По поводу сэмплинга и смерти свича - честно говоря, я такое не проверял, по-хорошему, конечно поставить генератор на line rate (тот же Moongen) и посмотреть, как будет вести себя свич. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 27 августа, 2015 · Жалоба Если тут остались те, что до сих пор боится поставить софт, то специально для Вас с наводки FATHER_FBI написал ПОЛНЫЙ гайд по проекту: https://github.com/FastVPSEestiOu/fastnetmon/raw/master/docs/FastNetMon_Reference_Russian.pdf :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
shaytan Опубликовано 27 августа, 2015 · Жалоба Павел, я правильно понял, что если мы заменим netmap на jflow, то функционал по FS мы потеряем? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 28 августа, 2015 · Жалоба Ога, именно так. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
shaytan Опубликовано 28 августа, 2015 · Жалоба Ога, именно так. Тогда надо разбирать где FNM теряет трафик. На порт сейчас отправляется 10G/1.5Mpps, а FNM суммарно показывает: Incoming traffic 645931 pps 5040 mbps 0 flows Outgoing traffic 482239 pps 2032 mbps 0 flows При этом 8 ядер равномерно загружены всего на 10-11% Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 29 августа, 2015 · Жалоба Отписал ответ по ЛС :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
GrandPr1de Опубликовано 29 августа, 2015 · Жалоба а почему ответ не в теме? :) я так внимательно слежу за развитием этого топика и тут такой облом :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 30 августа, 2015 · Жалоба а там все интересно, "Total amount of not processed packets: 61096601" и растет на скорости 200kpps. Как фикс предложил включить отладку для случая Netmap: Приведу пример с netmap: в файле src/netmap_plugin/netmap_collector.cpp Нужно изменить вот этот кусок кода: if (packet_header.extended_hdr.parsed_pkt.ip_version != 4 && packet_header.extended_hdr.parsed_pkt.ip_version != 6) { return false; } На: if (packet_header.extended_hdr.parsed_pkt.ip_version != 4 && packet_header.extended_hdr.parsed_pkt.ip_version != 6) { char print_buffer[512]; fastnetmon_print_parsed_pkt(print_buffer, 512, (u_char*)buffer, &packet_header); logger.info("%s", print_buffer); return false; } После этого он отпечатает в лог /var/log/fastnetmon.log содержимое пакетов. И станет понятно, почему так происходит. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...