pavel.odintsov Опубликовано 26 декабря, 2015 · Жалоба Есть отличная новость! Нашел и поправил неприятнейший баг с обсчетом счетчиков по протоколам, там данные были +- километр, особенно в режиме netflow/sflow. Сборка как и всегда скриптом: wget https://raw.githubusercontent.com/pavel-odintsov/fastnetmon/master/src/fastnetmon_install.pl -Ofastnetmon_install.pl sudo perl fastnetmon_install.pl --use-git-master Патчи: https://github.com/pavel-odintsov/fastnetmon/commit/24cc84e5ab33443bfa2bbfb62e2ddef81b2d55e0 https://github.com/pavel-odintsov/fastnetmon/commit/0f2be7279cc47473dab05f4f02daca60576d19e7 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
taf_321 Опубликовано 27 декабря, 2015 · Жалоба Добрый день. Программа перестала собираться на 32-битных системах. http://git.altlinux.org/tasks/155344/build/100/i586/log: make[2]: Entering directory `/usr/src/RPM/BUILD/fastnetmon-1.1.2/src/BUILD' [ 21%] Building CXX object CMakeFiles/fast_dpi.dir/fast_dpi.cpp.o /usr/src/RPM/BUILD/fastnetmon-1.1.2/src/fast_dpi.cpp: In function 'ndpi_detection_module_struct* init_ndpi()': /usr/src/RPM/BUILD/fastnetmon-1.1.2/src/fast_dpi.cpp:38:89: error: invalid conversion from 'void* (*)(size_t) throw () {aka void* (*)(unsigned int) throw ()}' to 'void* (*)(long unsigned int)' [-fpermissive] ndpi_init_detection_module(detection_tick_resolution, malloc, free, debug_printf); ^ In file included from /usr/src/RPM/BUILD/fastnetmon-1.1.2/src/fast_dpi.h:5:0, from /usr/src/RPM/BUILD/fastnetmon-1.1.2/src/fast_dpi.cpp:1: /usr/include/libndpi/ndpi_api.h:77:40: note: initializing argument 2 of 'ndpi_detection_module_struct* ndpi_init_detection_module(u_int32_t, void* (*)(long unsigned int), void (*)(void*), ndpi_debug_function_ptr)' struct ndpi_detection_module_struct *ndpi_init_detection_module(u_int32_t ticks_per_second, ^ make[2]: *** [CMakeFiles/fast_dpi.dir/fast_dpi.cpp.o] Error 1 make[2]: Leaving directory `/usr/src/RPM/BUILD/fastnetmon-1.1.2/src/BUILD' И еще не совсем понятны танцы с путями к заголовкам и библиотекам. Как результат, при сборке они не находятся, если располагаются в штатных /usr/include, /usr/lib[64]. Пришлось править CMakeLists.txt "по живому" Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 28 декабря, 2015 (изменено) · Жалоба Добрый день. Программа перестала собираться на 32-битных системах. http://git.altlinux.org/tasks/155344/build/100/i586/log: make[2]: Entering directory `/usr/src/RPM/BUILD/fastnetmon-1.1.2/src/BUILD' [ 21%] Building CXX object CMakeFiles/fast_dpi.dir/fast_dpi.cpp.o /usr/src/RPM/BUILD/fastnetmon-1.1.2/src/fast_dpi.cpp: In function 'ndpi_detection_module_struct* init_ndpi()': /usr/src/RPM/BUILD/fastnetmon-1.1.2/src/fast_dpi.cpp:38:89: error: invalid conversion from 'void* (*)(size_t) throw () {aka void* (*)(unsigned int) throw ()}' to 'void* (*)(long unsigned int)' [-fpermissive] ndpi_init_detection_module(detection_tick_resolution, malloc, free, debug_printf); ^ In file included from /usr/src/RPM/BUILD/fastnetmon-1.1.2/src/fast_dpi.h:5:0, from /usr/src/RPM/BUILD/fastnetmon-1.1.2/src/fast_dpi.cpp:1: /usr/include/libndpi/ndpi_api.h:77:40: note: initializing argument 2 of 'ndpi_detection_module_struct* ndpi_init_detection_module(u_int32_t, void* (*)(long unsigned int), void (*)(void*), ndpi_debug_function_ptr)' struct ndpi_detection_module_struct *ndpi_init_detection_module(u_int32_t ticks_per_second, ^ make[2]: *** [CMakeFiles/fast_dpi.dir/fast_dpi.cpp.o] Error 1 make[2]: Leaving directory `/usr/src/RPM/BUILD/fastnetmon-1.1.2/src/BUILD' И еще не совсем понятны танцы с путями к заголовкам и библиотекам. Как результат, при сборке они не находятся, если располагаются в штатных /usr/include, /usr/lib[64]. Пришлось править CMakeLists.txt "по живому" Привет! За mess с путями извиняюсь, для разработки использую версии из сорцов, чтобы не зависеть от дистрибутива - это последствие. По поводу бага выше - это баг nDPI, я сделал на него патч: https://github.com/ntop/nDPI/pull/132, как примут, нужно будет обновить либу в Альте и тогда все соберется... Можно, конечно, закостылить, но не хочется. Изменено 28 декабря, 2015 пользователем pavel.odintsov Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SyJet Опубликовано 28 декабря, 2015 · Жалоба как примут, нужно будет обновить либу в Альте и тогда все соберется... Можно, конечно, закостылить, но не хочется. Вроде уже приняли Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 28 декабря, 2015 · Жалоба Не, нет еще, пул риквест открытый еще... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 31 декабря, 2015 · Жалоба taf_321! Готово, nDPI приняли пул риквест и теперь FastNetMon соберется корректно на 32битных платформах: https://github.com/ntop/nDPI/pull/132 :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vitalvas Опубликовано 3 января, 2016 · Жалоба небольшая хотелка возможность складывать логи атак в своем формате файловой структуры к примеру так: /opt/fastnetmon_attacks/{Y}/{M}/{D}/{hms}_{ip}.log Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 4 января, 2016 · Жалоба небольшая хотелка возможность складывать логи атак в своем формате файловой структуры к примеру так: /opt/fastnetmon_attacks/{Y}/{M}/{D}/{hms}_{ip}.log Проще включите лог в syslog и там настройте :) # enable this option if you want to send logs to local syslog facility logging:local_syslog_logging = off # enable this option if you want to send logs to a remote syslog server via UDP logging:remote_syslog_logging = off # specify a custom server and port for remote logging logging:remote_syslog_server = 10.10.10.10 logging:remote_syslog_port = 514 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
gsmail Опубликовано 8 января, 2016 · Жалоба А если не ставится, в логе ошибок не пишет. [ 53%] Built target pfring_plugin Linking CXX static library libsflow_plugin.a [ 53%] Built target sflow_plugin Command finished with code 512 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 8 января, 2016 · Жалоба Сделал инсталлер более "разговорчивым", теперь будет плевать ошибку прямо на консоль для более простой отладки. Запустите, пожалуйста, инсталлер повторно: wget https://raw.githubusercontent.com/pavel-odintsov/fastnetmon/master/src/fastnetmon_install.pl -Ofastnetmon_install.pl sudo perl fastnetmon_install.pl --use-git-master Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
gsmail Опубликовано 8 января, 2016 · Жалоба Спасибо, теперь все запустилось без проблем. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 8 января, 2016 · Жалоба Отлично=) Хотя я ничего не правил, кроме отображения ошибок на консоль. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Megas Опубликовано 11 января, 2016 · Жалоба Во какая радость сегодня прилетела в пару гигабит. (192.168.0.1 фейк) 2016-01-11 03:39:17.061494 94.67.87.47:53 > 192.168.0.1:23452 protocol: udp frag: 1 packets: 1 size: 1494 bytes sample ratio: 1 2016-01-11 03:39:17.061506 149.86.189.171:53 > 192.168.0.1:19257 protocol: udp frag: 1 packets: 1 size: 1454 bytes sample ratio: 1 2016-01-11 03:39:17.061518 94.67.87.47:0 > 192.168.0.1:0 protocol: udp frag: 1 packets: 1 size: 1494 bytes sample ratio: 1 2016-01-11 03:39:17.061530 5.164.124.148:53 > 192.168.0.1:27393 protocol: udp frag: 1 packets: 1 size: 1494 bytes sample ratio: 1 2016-01-11 03:39:17.061542 148.235.133.34:0 > 192.168.0.1:0 protocol: udp frag: 1 packets: 1 size: 1157 bytes sample ratio: 1 2016-01-11 03:39:17.061554 91.112.210.124:0 > 192.168.0.1:0 protocol: udp frag: 1 packets: 1 size: 1518 bytes sample ratio: 1 2016-01-11 03:39:17.061566 94.228.80.156:53 > 192.168.0.1:22883 protocol: udp frag: 1 packets: 1 size: 1518 bytes sample ratio: 1 2016-01-11 03:39:17.061578 94.228.80.156:0 > 192.168.0.1:0 protocol: udp frag: 1 packets: 1 size: 1518 bytes sample ratio: 1 2016-01-11 03:39:17.061594 94.228.80.156:0 > 192.168.0.1:0 protocol: udp frag: 1 packets: 1 size: 1181 bytes sample ratio: 1 2016-01-11 03:39:17.061623 178.254.205.250:0 > 192.168.0.1:0 protocol: udp frag: 1 packets: 1 size: 1494 bytes sample ratio: 1 2016-01-11 03:39:17.061636 178.254.205.250:53 > 192.168.0.1:2692 protocol: udp frag: 1 packets: 1 size: 1494 bytes sample ratio: 1 2016-01-11 03:39:17.061648 82.207.59.190:53 > 192.168.0.1:40585 protocol: udp frag: 1 packets: 1 size: 1518 bytes sample ratio: 1 2016-01-11 03:39:17.061661 82.207.59.190:0 > 192.168.0.1:0 protocol: udp frag: 1 packets: 1 size: 1518 bytes sample ratio: 1 2016-01-11 03:39:17.061690 82.207.59.190:0 > 192.168.0.1:0 protocol: udp frag: 1 packets: 1 size: 1181 bytes sample ratio: 1 2016-01-11 03:39:17.061718 178.254.205.250:0 > 192.168.0.1:0 protocol: udp frag: 1 packets: 1 size: 1229 bytes sample ratio: 1 2016-01-11 03:39:17.061728 188.187.18.173:53 > 192.168.0.1:40735 protocol: udp frag: 1 packets: 1 size: 1494 bytes sample ratio: 1 2016-01-11 03:39:17.061738 91.112.210.124:53 > 192.168.0.1:55886 protocol: udp frag: 1 packets: 1 size: 1518 bytes sample ratio: 1 2016-01-11 03:39:17.061770 188.187.18.173:0 > 192.168.0.1:0 protocol: udp frag: 1 packets: 1 size: 1494 bytes sample ratio: 1 2016-01-11 03:39:17.061780 188.187.18.173:0 > 192.168.0.1:0 protocol: udp frag: 1 packets: 1 size: 1229 bytes sample ratio: 1 2016-01-11 03:39:17.061790 178.130.13.58:53 > 192.168.0.1:6502 protocol: udp frag: 1 packets: 1 size: 1518 bytes sample ratio: 1 2016-01-11 03:39:17.061799 95.70.81.186:53 > 192.168.0.1:24059 protocol: udp frag: 1 packets: 1 size: 1494 bytes sample ratio: 1 2016-01-11 03:39:17.061809 95.70.81.186:0 > 192.168.0.1:0 protocol: udp frag: 1 packets: 1 size: 1494 bytes sample ratio: 1 2016-01-11 03:39:17.061818 188.255.7.103:53 > 192.168.0.1:55098 protocol: udp frag: 1 packets: 1 size: 1518 bytes sample ratio: 1 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 11 января, 2016 · Жалоба Амплификация же. А вот кто с нулевого порта шлет - так и не понятно, много раз такие видел, но разобраться руки не доходили. Что там за payload? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Megas Опубликовано 11 января, 2016 · Жалоба К сожалению внутрених подробностей нету, только поверхностное. Или я не правильно понял ваш вопрос? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 11 января, 2016 · Жалоба Ну я предлагаю включить сбор дампов pcap collect_attack_pcap_dumps = on и посмотреть, что наберется :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
OKyHb Опубликовано 12 января, 2016 · Жалоба Так нулевой порт - вроде ж и tcpdump такое пишет для фрагментированного трафика? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 12 января, 2016 · Жалоба А, ну вообще да - 2016-01-11 03:39:17.061661 82.207.59.190:0 > 192.168.0.1:0 protocol: udp frag: 1 packets: 1 size: 1518 bytes sample ratio: 1 Это фрагментация. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pfexec Опубликовано 8 февраля, 2016 · Жалоба по поводу fastnetmon. есть у него возможность указать руками необходимые условия и действия ? ну например, используя я ipfix, все что мне надо, это по нескольким параметрам (типа трафика, пакетрейт, биторейт, список dst networks и чот-то еще по мелочи) определить наличие ддоса и выполнить команду шелл вида "/path/to/program $arg1 $arg2" ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 8 февраля, 2016 · Жалоба Все умеет :) Именно в этом виде и умеет. Вот гайда более-менее актуальная с общим описанием фич: https://github.com/pavel-odintsov/fastnetmon/blob/master/docs/FastNetMon_Reference_Russian.pdf Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pfexec Опубликовано 9 февраля, 2016 (изменено) · Жалоба Спасибо, пдф полистаю. :) у меня проблема с компиляцией: кусок автоконфига -- Looking for pthread.h -- Looking for pthread.h - found -- Looking for pthread_create -- Looking for pthread_create - not found -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found ошибка в логе сборки /tmp/fastnetmon.build.dir.UCX2k7P1Nt/fastnetmon/src/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:(.text+0x19): undefined reference to `pthread_create' cc: error: linker command failed with exit code 1 (use -v to see invocation) CMakeFiles/cmTC_f581c.dir/build.make:97: recipe for target 'cmTC_f581c' failed gmake[1]: *** [cmTC_f581c] Error 1 gmake[1]: Leaving directory '/tmp/fastnetmon.build.dir.UCX2k7P1Nt/fastnetmon/src/build/CMakeFiles/CMakeTmp' Makefile:126: recipe for target 'cmTC_f581c/fast' failed gmake: *** [cmTC_f581c/fast] Error 2 File /tmp/fastnetmon.build.dir.UCX2k7P1Nt/fastnetmon/src/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include <pthread.h> int main(int argc, char** argv) { (void)argv; #ifndef pthread_create return ((int*)(&pthread_create))[argc]; #else (void)argc; return 0; #endif } Determining if the function pthread_create exists in the pthreads failed with the following output: Change Dir: /tmp/fastnetmon.build.dir.UCX2k7P1Nt/fastnetmon/src/build/CMakeFiles/CMakeTmp Run Build Command:"/usr/local/bin/gmake" "cmTC_4ba7e/fast" /usr/local/bin/gmake -f CMakeFiles/cmTC_4ba7e.dir/build.make CMakeFiles/cmTC_4ba7e.dir/build gmake[1]: Entering directory '/tmp/fastnetmon.build.dir.UCX2k7P1Nt/fastnetmon/src/build/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_4ba7e.dir/CheckFunctionExists.c.o /usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTC_4ba7e.dir/CheckFunctionExists.c.o -c /usr/local/share/cmake/Modules/CheckFunctionExists.c Linking C executable cmTC_4ba7e /usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTC_4ba7e.dir/link.txt --verbose=1 /usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/cmTC_4ba7e.dir/CheckFunctionExists.c.o -o cmTC_4ba7e -lpthreads /usr/bin/ld: cannot find -lpthreads cc: error: linker command failed with exit code 1 (use -v to see invocation) CMakeFiles/cmTC_4ba7e.dir/build.make:97: recipe for target 'cmTC_4ba7e' failed gmake[1]: *** [cmTC_4ba7e] Error 1 gmake[1]: Leaving directory '/tmp/fastnetmon.build.dir.UCX2k7P1Nt/fastnetmon/src/build/CMakeFiles/CMakeTmp' Makefile:126: recipe for target 'cmTC_4ba7e/fast' failed gmake: *** [cmTC_4ba7e/fast] Error 2 система freebsd 10, сборка из того скрипта перлового. почему автоконфиг говорит про pthread, а линкер пытается в pthreadS ? :'-( Изменено 9 февраля, 2016 пользователем pfexec Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 9 февраля, 2016 (изменено) · Жалоба На фре есть порт в портах: http://www.freshports.org/net-mgmt/fastnetmon/ :) Юзайте его, собирать из сорцов на фре - не стоит. Изменено 9 февраля, 2016 пользователем pavel.odintsov Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pfexec Опубликовано 10 февраля, 2016 · Жалоба На фре есть порт в портах: http://www.freshport...gmt/fastnetmon/ :) Юзайте его, собирать из сорцов на фре - не стоит.если бы в портах/пакаджах было что-то актуальное я бы обязательно это использовал. но там окаменело уже все. :) ни ipfix, ни gobgp/exabgp, ни еще там чего-то. 1.1.2 же версия.оно собирается на фряше, просто я посчитал что будет полезно исправить проблемы сборки. ну или тогда честно написать "фряша не поддерживается", да и порт давно пора или дропнуть, или актуализировать. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 10 февраля, 2016 (изменено) · Жалоба С чего Вы это все взяли? Это полная дезинформация. И ipfix и ExaBGP поддерживаются в FreeBSD порте (порту?). В портах стабильная на текущий момент версия 1.1.2, на GitHub - девелоперская git версия, которую я нередко ломаю. Пушить такой код в порты - я смысла не вижу. Будет релиз - будет и апдейт. Полный список фич стабильной версии - https://habrahabr.ru/post/259399/, именно он поддерживается на Фре. Чего не умеет версия из портов - это GoBGP, но я не уверен, что у кого-то хватит смелости и усидчивости собрать весь стек protobuf/gRPC под FreeBSD. Если и соберется - это само по себе будет чудом. Но в целом, в данный момент число установок с FreeBSD не превышает 1% (на фоне четких 99 % у Linux) и я скорее подумываю о том, чтобы просто прекратить выпускать релизы под данную платформу вообще. И если у кого-то планы по долгосрочному использованию - я бы рекомендовал запастись Ubuntu 14.04 / 64 бита и развертываться на ней :) Меня можно разубедить, если кто-то сможет достать оценку числа скачиваний FreeBSD порта и убедить меня, что он популярный - я передумаю, возможно :) Изменено 10 февраля, 2016 пользователем pavel.odintsov Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pfexec Опубликовано 10 февраля, 2016 (изменено) · Жалоба Чего не умеет версия из портов - это GoBGP, но я не уверен, что у кого-то хватит смелости и усидчивости собрать весь стек protobuf/gRPC под FreeBSD. Если и соберется - это само по себе будет чудом. а в чем проблема это все на фряше собрать ? вообще с того перлового скрипта все собралось, кроме fastnetmon в концеНо в целом, в данный момент число установок с FreeBSD не превышает 1%ну так и напишите тогда, что дальше 1.1.2 версий для фряши не будет. хотите, партесь сами. а то скрипт вроде детекстит фряшу и что-то пытается собирать, но при этом не знает про версию golang для фряши и что-то там еще по мелочи.анивей, спасибо за информацию. подумаю что с этим делать или не делать Ж) Изменено 10 февраля, 2016 пользователем pfexec Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...