LINUX.ORG.RU

nDPI как замена l7filter

 ,


23

17

Если кому интересно, то вот рецепт

На большом потоке ( >300мбит/с ) c большим числом протоколов (>20) используется примерно 40% одного ядра Intel(R) Xeon(R) CPU E31230@3.20GHz. Если поток больше или процессор слабее, то включаем RPS или используем сетевые карты с multi-queue и irq-affinity :)

Требуется много памяти. На каждое соединение расходуется примерно 800+264*0.7 байт.

Исходники теперь есть на https://github.com/vel21ripn/nDPI/tree/netfilter

★★★★★

Последнее исправление: vel (всего исправлений: 3)
Ответ на: комментарий от vel

какой кэш имеется ввиду? если bt_hash, то специально выключал. т.е. сразу подумал про такой сценарий, но ведь в торрент попадает и заведомо днс-трафик с моих серверов, на которых точно не было торрентов.

stasn77
()
Ответ на: комментарий от stasn77

там в node_id есть кеш на 8 портов.

Надо будет попробовать его отключить.

vel ★★★★★
() автор топика

Настроил в конце концов все это по мануалу as_lan'a на ubuntu 14.02.2

И не могу понять, в чем дело! Почти ничего не блокируется! Настроенный шлюз в конечном итоге блокирует 100% только bittorrent. HTTP частично блокирует, при этом youtube, mail.ru пакеты проходят, отдельное правило по пакетам youtube тоже не работает. teamviewer, apple, skype - ничего не работает.

Блокирую правилом в iptables iptables -t mangle -A POSTROUTING -m ndpi --proto $proto -j DROP

Прошу простить мою недалекость. Не могли бы Вы меня направить, что тут не так?

firebolt
()
Ответ на: комментарий от firebolt

И не будет работать. я отписался в багтрекере по поводу youtube. Разработчик сперва сказал что у него все нормально. Отправил дампы и все... Тишина. НИ скайп, ни youtube, ни teamviewer ndpi не детектирует.
Ссылка на баг https://svn.ntop.org/bugzilla/show_bug.cgi?id=522

as_lan ★★
()
Ответ на: комментарий от firebolt

http, http-alt, icmp, ssl, dns, bittorrent, ssh, ftp. это то что я проверял. Мне большего и не было нужно. Ну разве что еще youtube, teamviewer, skype и по mime type еще (avi, mpeg) но это пока не работает

as_lan ★★
()
Ответ на: комментарий от as_lan

А там кстати будет или есть ли функционал подменять сертификат для https сессий чтобы содержимое просматривать?

pinachet ★★★★★
()
Ответ на: комментарий от pinachet

нет. Мне не известны такие приложения вообще (по крайней мере из бесплатных) иначе этот MITM атака по сути и весь смысл в https пропадает.

as_lan ★★
()
Ответ на: комментарий от firebolt

Я хотел бы снова поднять вопрос по сторонним утилитам от нтоп.

кто-нибудь все использует их сторонние проги типа pf ring nprobe ntopng может допилили?

linkod
()
Ответ на: комментарий от pinachet

Он работает если соединение сперва проходит по http. Там где вы сперва переходите по http, потом вас перебрасывают на https. Вот пержде чем будет редирект, там и сработает sslstrip. Завернуть на него весь трафик 443 и перехватывать все, когда жертва сразу открывает сайт по https у Вас не получится.

немного грубо объяснил. Но суть думаю понятна. Одним словом это немного не то, чем Вы его представляете)

as_lan ★★
()
Ответ на: комментарий от pinachet

интересная вещица. ее бы прикрутить грамотно и с НТТР проблемы бы решились все.

linkod
()
Ответ на: комментарий от as_lan

Кстати, я хотел спросить. Если действовать по вашей инструкции для установки на дебиан 7.8 без патча ядра, то с какого пункта лучше начать?

linkod
()
Ответ на: комментарий от linkod

Если Вам IMQ не нужен, то с 10. Если хотите использовать IMQ то с самого начала, так как без патчей IMQ никуда.

as_lan ★★
()
Ответ на: комментарий от as_lan

первая проблема на скрине. http://hostingkartinok.com/show-image.php?id=a25ad6baa0100b758b6ba44425390519

Я сначала поставил хтэйблс-аддонс-коммонс, но в пункте 11 ндпи ругнулся. решил скопировать пункт 10 и вот проблем.

пс. с дебианом уже была проблема, я тогда на убунте поднял. И вот снова.

linkod
()
Ответ на: комментарий от linkod

«configure && make» в nDPI

В каталоге example будет, ndpiReader

Но пока я вижу в нем только один смысл - первоначальное тестирование и некоторая помощь разработчикам.

vel ★★★★★
() автор топика
Последнее исправление: vel (всего исправлений: 2)
Ответ на: комментарий от vel

rm configure сознательно. толку от него 0 было. libtool поставил и все заработало.

linkod
()

Добавил некоторое удобство для маркировки и приоритезации.

Для каждого протокола можно задать метку(u32) и маску(u32) в /proc/net/xt_ndpi/proto, там же их можно посмотреть.

Можно изменить всем протоколам значение метки или метки и маски, указав вместо ID протокола «all» или «any». ANY - это любой известный протокол, т.е. all - unknown.

По "-j NDPI --ndpi-id" для метки или приоритета будет сделано сначала «& ~mask», а затем «| mark»

vel ★★★★★
() автор топика
Ответ на: комментарий от vel

тестировал ндпи ндпиридером и л7 на микротике. результаты не однозначные.

1) кто-то говорил, что ютьюб плохо определяется, но л7 на тике любое нттр видео определяет на раз. 95-100% 2)битторент через юторент определяется очень хорошо( более 75%) 3)есть такая прога. зовется zona.ru и посредством торрента дает возможность просматривать видео. Короче торрент. И ндпи его определяет ооочень плохо. Хотел попросить вас помочь победить. С чего лучше начать?

linkod
()
Ответ на: комментарий от linkod

у ndpi есть отдельно youtube и отдельно http. Http/реезы(куда попадает youtube тоже) определяется отлично. Но вот youtube отдельно нет.

Zona?? Фее...Такой софт ставить на свои компы.

as_lan ★★
()
Ответ на: комментарий от as_lan

1) понятно, что ютьюб все же определяется(только как группа протоколов), но в Л7 он определяется лучше всего и именно ютьюб, ложных срабатываний на уторренте 7-10%

2) фее или не фее, но не определяет. дело принципа. ПОЧЕМУ?! в моем случае это вопрос отсутствия головной боли от абонентов т.е. очень важный

linkod
()

За что отвечает параметр NF_CONNTRACK_CUSTOM? После выполнения make menuconfig он равен 4. Можно ли оставлять такое значение или обязательно исправлять на 2?

denmmx
()
Ответ на: комментарий от geurgy

У меня все ок.

aslan@router:~$ uname -a
Linux router 3.17.0-v-ndpi+imq #1 SMP Sun Dec 7 21:30:35 MSK 2014 x86_64 x86_64 x86_64 GNU/Linux

aslan@router:~$ lsmod | grep ndpi
xt_ndpi               379428  1745

Какая ошибка при сборке?

as_lan ★★
()
Ответ на: комментарий от as_lan

Листинг не сохранил, но на патч IMQ ругался. Попутно еще вопрос, а как все это дело обновлять? Снова брать ядро и заново все пересобирать?

geurgy
()
Ответ на: комментарий от geurgy

если ndpi который патчи ядро, то да, заново патчить ядро и собирать. Если версия без патча, то нет. Патчить не нужно ядро. Просто по новой собрать ndpi

as_lan ★★
()

Выложил обновленное до SVN r9249. Особо в изменения не вникал, но заметил правильные тенденции на счет протоколов которые тупо детектятся по портам. Похоже, что хотят сделать единый механизм.

vel ★★★★★
() автор топика
Ответ на: комментарий от vel

Спасибо. Как раз думал, что давненько обновлений не было)

as_lan ★★
()

Появились новости.

1 - они переехали с этого мерзкого svn на git, и этот git на github, что хорошо! Но историю они похерили крестообразно перечеркнули.

2 - стартовал переход от монолитной структуры к модульной. Вроде как логично, но как оно будет выглядеть дальше - непонятно. Нужно подождать.

3 - часть данных, которые прибиты гвоздями в коде, планируют сделать в виде загружаемых ресурсов.
Это замечательно! Как только они выпустят что-то рабочее можно будет подумать как это реализовать в ядре.

vel ★★★★★
() автор топика
Ответ на: комментарий от as_lan

поддержка новых ядер + поддержка NETNS, которая раньше была отдельным патчем.

vel ★★★★★
() автор топика
Ответ на: комментарий от as_lan

Обновил мануал по сборке под Centos. Сделал его еще более простым(хотя казалось бы куда еще). Проверил в виртуалке под свежей Centos 7. Все собралось и работает без ошибок.

as_lan ★★
()
Ответ на: комментарий от as_lan

Есть, но подожду пока они сделают модульную структуру.

vel ★★★★★
() автор топика
11 августа 2015 г.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.