Команда ntop выпустила nDPI 6.0 — новую версию открытой библиотеки для глубокого инспектирования сетевых пакетов, которая умеет распознавать более 450 протоколов и приложений и отмечать 56 типов сетевых угроз. Для админов, сетевых инженеров и ИБ-команд здесь сразу две новости: движок стал лучше видеть медленные DoS-атаки и трафик современных сервисов, но часть модулей теперь живёт по более жёстким лицензионным правилам.
О релизе сообщает Habr / Новости. Проект nDPI вырос из OpenDPI после того, как исходный репозиторий фактически остался без сопровождения, а попытка передать туда изменения не сработала. Код написан на C, распространяется на GitHub, базовая библиотека по-прежнему доступна под LGPLv3. Предыдущая крупная версия, nDPI 5.0, вышла в ноябре 2025 года, так что шестой релиз не выглядит косметическим: в нём есть и новые сценарии анализа трафика, и изменения, которые напрямую затрагивают коммерческое использование.
Если коротко, nDPI 6.0 остаётся тем самым инструментом, который полезен там, где смотреть только на номер порта уже бессмысленно. Библиотека определяет протоколы прикладного уровня не по формальному назначению порта, а по характеру сетевой активности. Это важно в реальной эксплуатации: HTTP давно не живёт только на 80-м порту, а маскировка одного типа трафика под другой — давно не экзотика, а рутина. Именно поэтому такие движки используют в мониторинге, сетевой телеметрии, фильтрации и разборе инцидентов: они позволяют понять, что именно идёт по сети, даже если это специально пытаются спрятать за «нормальным» фасадом.
Главное прикладное изменение релиза — поддержка выявления и блокирования атак класса Slowloris, Slow POST и Slow GET. Это не тот случай, когда злоумышленник забивает канал мусором. Наоборот, он действует медленно: тянет отправку запроса или приём ответа, удерживает соединение открытым и не даёт ему умереть по таймауту. В результате сервер тратит ресурсы на большое число «полуживых» соединений и может уткнуться в лимиты по обработке клиентов. Для компаний, у которых наружные веб-сервисы обслуживают много параллельных сессий, такой тип нагрузки неприятен именно своей неброскостью: трафик может не выглядеть аномально тяжёлым, но приложение уже задыхается. Если nDPI встроен в сетевой мониторинг или защитную прослойку, новый детект делает такие сценарии заметнее на ранней стадии.
Второй важный блок — улучшение формирования отпечатков трафика JA4. Этот механизм используют для идентификации вредоносной активности по признакам TLS-сеансов. В nDPI 6.0 разработчики постарались снизить число ложных срабатываний и добавили выборочное вычисление JA4-хэшей без некоторых TLS-расширений, зависящих от конкретной сессии. В качестве примера в источнике упомянуто расширение для возобновления сеансов через предварительно согласованные ключи, которое уменьшает уникальность отпечатков. Для ИБ-практики это звучит менее эффектно, чем новый детект атаки, но часто полезнее: если fingerprinting даёт слишком много шума, его быстро перестают воспринимать всерьёз. А если качество сигнала растёт, инструментом начинают пользоваться не только на стенде, но и в бою.
Есть и то, что оценят команды эксплуатации. В nDPI 6.0 добавили поддержку USDT — Userland Statically Defined Tracing. Проще говоря, это точки трассировки, встроенные в приложение и не создающие заметной нагрузки, пока выключены. Зато при необходимости их можно подключить к bpftrace или perf и смотреть, что происходит внутри nDPI, прямо на рабочих серверах, без отдельных отладочных сборок. Для production-среды это адекватный компромисс между наблюдаемостью и осторожностью: никто не любит пересобирать критичный компонент только ради того, чтобы понять, почему он ведёт себя странно под реальной нагрузкой.
Релиз также расширяет покрытие протоколов и сценариев, которые ещё недавно были нишевыми, а теперь всё чаще появляются в корпоративных сетях и у энтузиастов децентрализованных систем. Библиотека научилась инспектировать Meshtastic, libp2p, YGGDRASIL и Nebula — стек, характерный для overlay- и mesh-сетей. Параллельно появились классификация данных в форматах JSON и MsgPack, более точное разделение активности внутри сервисов GitHub и Proton, а также поддержка выделения голосовых и видеозвонков в трафике. Это уже не просто «распознать YouTube или BitTorrent», а движение в сторону более детального понимания того, что именно делает пользователь или сервис внутри экосистемы. Отдельно добавлены новые категории контент-менеджмента: дети, поисковые системы, насилие, наркотики и оружие. Для операторов фильтрации и корпоративных политик доступа такие категории — вполне рабочий материал, а не декоративный список для маркетинговой презентации.
На этом фоне особенно заметно выглядит лицензионный поворот. Базовая библиотека nDPI остаётся под LGPLv3, но некоторые модули разбора трафика — в частности DNS, QUIC и TLS — переведены на двойную модель: LGPLv3 для некоммерческих проектов и коммерческая лицензия для сценариев, где продукт используется для извлечения прибыли. Это уже не чистая история про «берём open source и спокойно встраиваем». Для внутренних корпоративных команд это повод перечитать условия использования, а для вендоров сетевого мониторинга, ИБ-продуктов и сервисов анализа трафика — повод заранее посчитать юридические и финансовые последствия. Технически nDPI 6.0 стал сильнее, но вокруг open source-ядра теперь появился более чёткий контур монетизации.
С практической точки зрения картина такая: nDPI продолжает уходить от статуса «ещё одна DPI-библиотека» к роли зрелого движка для современных сетей, где QUIC, мессенджеры, облачные офисы, p2p-механики и зашифрованный трафик давно стали нормой. Но вместе с ростом возможностей растёт и цена выбора. Для одних команд nDPI 6.0 станет хорошим аргументом в пользу обновления из-за новых детектов, JA4 и трассировки. Для других главный вопрос будет не в том, насколько хорошо библиотека различает GitHub Actions и GitHub Packages, а в том, насколько комфортно строить коммерческий продукт на основе проекта, который начал точнее разделять open source и платное использование.