Evolution23 Опубликовано 21 июня, 2014 · Жалоба и еще, если верить тому что выдает fastnetmon, то один из айпишников жрет канал со скоростью 170 mbps. это при том, что у него порт по идее 100 мбитный :D Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 21 июня, 2014 · Жалоба Запустил на одной из машин, посмотрим как будет работать) Уже увидел наглядно самых активных пользователей) Вопрос немного не по теме, ipcad можно подружить с pf_ring? а то сейчас он по ULOG работает у нас. Нагрузка терпимая, но если бы прикрутить pf_ring получилось, то было бы совсем здорово. Это точно возможно, IPCAD судя по доке работает на PCAP. А у PF_RING есть режим эмуляции pcap. Все, что нужно сделать - это слинковать IPCAD c pcap от PF_RING, оно лежит в папке userspace. Я на практике не теми же методами и работает весьма прилично. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 21 июня, 2014 (изменено) · Жалоба Про 170 мегабит... я проверю код обсчета скорости, в принципе мог напортачить. Update: вроде бы все ок, а трафик идет от клиента или к нему? Изменено 21 июня, 2014 пользователем pavel.odintsov Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Evolution23 Опубликовано 21 июня, 2014 · Жалоба Про 170 мегабит... я проверю код обсчета скорости, в принципе мог напортачить. Update: вроде бы все ок, а трафик идет от клиента или к нему? Если не изменяет память, то было incoming. Но суть не в этом. Не важно в какую сторону, у него ж порт 100мбитный, он за пределы ста мегабит вообще по идее ни на upload, ни на download не может выйти. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 22 июня, 2014 · Жалоба Evolution23, переписал весь код расчета скорости, думаю, должно помочь. Также попробуйте забить в конфиге режим сортировки "bytes", чтобы было более наглядно видно, кто в топе и какие там скорости. Пики по пакетам и мегабитам редко совпадают. Update: также добавил возможность забить прослушиваемые интерфейсы в конфиг (параметр interfaces) и их теперь не обязательно передавать вручную как параметры командной строки. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Evolution23 Опубликовано 22 июня, 2014 · Жалоба Evolution23, переписал весь код расчета скорости, думаю, должно помочь. Также попробуйте забить в конфиге режим сортировки "bytes", чтобы было более наглядно видно, кто в топе и какие там скорости. Пики по пакетам и мегабитам редко совпадают. Update: также добавил возможность забить прослушиваемые интерфейсы в конфиг (параметр interfaces) и их теперь не обязательно передавать вручную как параметры командной строки. Пока аномальных скоростей у пользователей больше не было замечено. Буду мониторить дальше. Вопрос по redis. fastnetmon в нем хранит информацию о переданных байтах, а возможно ли туда складировать больше информации? кто, куда и в какое время обратился? Или такой функционал не имеется в to-do? Грубо говоря IPCAD сейчас мной используется для этого, но разумеется лучше было бы использовать одну программу-анализатор трафика, чем две (одну для мониторинга нагрузки, а другую для мониторинга кто и куда обратился) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 22 июня, 2014 (изменено) · Жалоба По поводу получения текущей информации с Redis, нужно проверить, чтобы в конфигурации было вот так: redis_port = 6379 redis_host = 127.0.0.1 redis_enabled = yes Ибо по умолчанию он отключен, чтобы не смущать тех, кому он не нужен. Чтобы получить данные по конкретному IP нужно сделать вот такоие запросы: redis-cli redis 127.0.0.1:6379> get zz.yy.xx.1_incoming "8404196" redis 127.0.0.1:6379> get zz.yy.xx.1_outgoing "8189989" А если интересуют все IP, о которых есть информация в redis: keys * Вроде бы, в старых версиях были проблемы с командой keys *, так что если что-то будет не так - советую попробовать redis из бэкпортов. По поводу более полной информации о трафике тут, боюсь, будет очень большая нагрузка, так как сейчас данные сбрасываются в redis каждые check_period секунд общим блоком, что в целом не сильно нагружает машину redis'ом. Если этой инфорамации будет больше и сбрасываться она будет часто - мы получим не особено хорошие скоростные характеристики. Поэтому, боюсь, данная функциональность конфликтует с идеологией программы. Изменено 22 июня, 2014 пользователем pavel.odintsov Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 30 июня, 2014 · Жалоба Еще один важный эта в развитии! 1) Теперь нет завязки на С++ 11, он выкинут от начала до конца и теперь все должно компилится под Debian 6/7 и CentOS 6/7. 2) Внедрил отличный лакапер - patricia из MPM пакета 3) Отошел от пересчета с сэмплирование и обсчитываю данные ежесекундно 4) Исправил лютые баги :) В общем, жду фидбэка и багрепортов! :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
tururu Опубликовано 15 сентября, 2014 · Жалоба Еще один важный эта в развитии! 1) Теперь нет завязки на С++ 11, он выкинут от начала до конца и теперь все должно компилится под Debian 6/7 и CentOS 6/7. 2) Внедрил отличный лакапер - patricia из MPM пакета 3) Отошел от пересчета с сэмплирование и обсчитываю данные ежесекундно 4) Исправил лютые баги :) В общем, жду фидбэка и багрепортов! :) Павел, добрый день. Может ли Fastnetmon разбирать MPLS трафик ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 21 сентября, 2014 · Жалоба вел, добрый день. Может ли Fastnetmon разбирать MPLS трафик ? Приветствую! А что требуется разбирать? Снять метки MPLS? Сейчас при фиксации трафика с VLAN тегом, я его просто снимаю и обрабатываю в общей куче. Вы хотите такое же поведение, но с MPLS? Кстати, офтопный вопрос, у вас MPLS в сети датацентра? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
tururu Опубликовано 22 сентября, 2014 · Жалоба А что требуется разбирать? Снять метки MPLS? Сейчас при фиксации трафика с VLAN тегом, я его просто снимаю и обрабатываю в общей куче. Вы хотите такое же поведение, но с MPLS? Кстати, офтопный вопрос, у вас MPLS в сети датацентра? Да, аналогичное поведение с MPLS. И в сети датацентра, и на аплинках есть MPLS трафик. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 22 сентября, 2014 · Жалоба Ох, все упирается в то, умеет ли PF_RING его идентифицировать. Боюсь, что не умеет: http://www.ntop.org/pfring_api/structpkt__parsing__info.html#a15426a76810fed9d14b966e4da5f4486 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
tururu Опубликовано 23 сентября, 2014 · Жалоба Ох, все упирается в то, умеет ли PF_RING его идентифицировать. Боюсь, что не умеет: http://www.ntop.org/pfring_api/structpkt__parsing__info.html#a15426a76810fed9d14b966e4da5f4486 ага, не умеет. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 23 сентября, 2014 · Жалоба Ох, все упирается в то, умеет ли PF_RING его идентифицировать. Боюсь, что не умеет: http://www.ntop.org/pfring_api/structpkt__parsing__info.html#a15426a76810fed9d14b966e4da5f4486 ага, не умеет. Я думаю, если они прикрутят анализ MPLS меток - мне это будет сделать уже делом техники. Они довольно отзывчивые ребята, может забросите удочку им в рассылку? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
grfmaniak Опубликовано 24 сентября, 2014 · Жалоба Программу поставили у себя на боевом сервере, уже полгода работает как часы. После согласования с ТТК процедуры блэкхола по bgp для атакуемых адресов - видим только сообщения о том, что атака успешно отбита, а не полку в каналах и вопли клиентов, как раньше. Автору мегареспект! Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
tururu Опубликовано 24 сентября, 2014 · Жалоба Ох, все упирается в то, умеет ли PF_RING его идентифицировать. Боюсь, что не умеет: http://www.ntop.org/pfring_api/structpkt__parsing__info.html#a15426a76810fed9d14b966e4da5f4486 ага, не умеет. Я думаю, если они прикрутят анализ MPLS меток - мне это будет сделать уже делом техники. Они довольно отзывчивые ребята, может забросите удочку им в рассылку? спасибо, спишусь с ребятами, надеюсь откликнутся Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 24 сентября, 2014 · Жалоба Ага, было бы супер, будем ждать :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
DimaM Опубликовано 24 сентября, 2014 · Жалоба Я думаю, если они прикрутят анализ MPLS меток - мне это будет сделать уже делом техники. Они довольно отзывчивые ребята, может забросите удочку им в рассылку? спасибо, спишусь с ребятами, надеюсь откликнутся Смотрю ченджлог, поддержка MPLS уже добавлена :) 2014-09-24 PF_RING 6.0.2 * PF_RING kernel module - MPLS support Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
tururu Опубликовано 25 сентября, 2014 · Жалоба Смотрю ченджлог, поддержка MPLS уже добавлена :) 2014-09-24 PF_RING 6.0.2 * PF_RING kernel module - MPLS support Однако. Ребята телепаты. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 25 сентября, 2014 (изменено) · Жалоба Телепаты телепатами, а попробуйте собрать мой монитор с новой версией библиотеки :) Судя по коду: if (hdr->extended_hdr.parsed_pkt.eth_type == ETH_P_MPLS_UC /* MPLS Unicast Traffic */) { int i = 0, max_tags = 10, last_tag = 0; u_int32_t tag; u_int16_t iph_start; for (i = 0; i < max_tags && !last_tag && displ <= data_len; i++) { tag = htonl(*((u_int32_t *) (&data[displ]))); if (tag & 0x00000100) /* Found last MPLS tag */ last_tag = 1; displ += 4; } if (i == max_tags) /* max tags reached for MPLS packet */ return(0); iph_start = htons(*((u_int16_t *) (&data[displ]))); if ((iph_start & 0x4000) == 0x4000) { /* Found IP4 Packet after tags */ hdr->extended_hdr.parsed_pkt.eth_type = ETH_P_IP; } else if ((iph_start & 0x6000) == 0x6000) { /* Found IP6 Packet after tags */ hdr->extended_hdr.parsed_pkt.eth_type = ETH_P_IPV6; } else { /* Cannot determine packet type after MPLS labels */ return(0); } } hdr->extended_hdr.parsed_pkt.offset.l3_offset = hdr->extended_hdr.parsed_pkt.offset.eth_offset + displ; //if(unlikely(enable_debug)) // printk("[PF_RING] [eth_type=%04X]\n", hdr->extended_hdr.parsed_pkt.eth_type); if(hdr->extended_hdr.parsed_pkt.eth_type == ETH_P_IP /* IPv4 */) { struct iphdr *ip; u_int16_t frag_off; hdr->extended_hdr.parsed_pkt.ip_version = 4; Он распаковывает MPLS и должен подать на вход к FastNetMon как обычный трафик с указанием MPLS метки и монитор его увидит весь, так как на MPLS метки не смотрит, а src/dst IP в нем будут прописаны. Программу поставили у себя на боевом сервере, уже полгода работает как часы. После согласования с ТТК процедуры блэкхола по bgp для атакуемых адресов - видим только сообщения о том, что атака успешно отбита, а не полку в каналах и вопли клиентов, как раньше. Автору мегареспект! Спасибо! Очень приятно! :) Изменено 25 сентября, 2014 пользователем pavel.odintsov Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
tururu Опубликовано 25 сентября, 2014 · Жалоба Он распаковывает MPLS и должен подать на вход к FastNetMon как обычный трафик с указанием MPLS метки и монитор его увидит весь, так как на MPLS метки не смотрит, а src/dst IP в нем будут прописаны. Павел, спасибо! Сегодня днем попробую. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 27 сентября, 2014 · Жалоба Он распаковывает MPLS и должен подать на вход к FastNetMon как обычный трафик с указанием MPLS метки и монитор его увидит весь, так как на MPLS метки не смотрит, а src/dst IP в нем будут прописаны. Павел, спасибо! Сегодня днем попробую. Как успехи, трафик распаковался? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
tururu Опубликовано 1 октября, 2014 · Жалоба Как успехи, трафик распаковался? сорри, отъезжал, не успел. завтра проверю все. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 1 октября, 2014 · Жалоба Как успехи, трафик распаковался? сорри, отъезжал, не успел. завтра проверю все. Ок, а-то мне самому уже интересно :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
tururu Опубликовано 2 октября, 2014 (изменено) · Жалоба Ок, а-то мне самому уже интересно :) Segmentation fault (core dumped) Core was generated by `./fastnetmon eth0'. Program terminated with signal 11, Segmentation fault. #0 0x000000000040326f in make_and_lookup () (gdb) bt #0 0x000000000040326f in make_and_lookup () #1 0x00000000004055ce in load_our_networks_list () at fastnetmon.cpp:715 #2 0x00000000004078af in main (argc=2, argv=0x7fffb0ddfc78) at fastnetmon.cpp:1232 Изменено 2 октября, 2014 пользователем tururu Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...