Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
nDPI — Набор инструментов с открытым исходным кодом для глубокого анализа пакетов | Kitploit
Инструменты/GitHubGitHub/ntop/ndpi
Сниффинг и анализ пакетовКартирование сетиАнализ уязвимостейФаззингСетевая безопасностьМашинное ОбучениеОбнаружение ВторженийАнализ DNS
GitHubntop/ndpi

nDPI

Набор инструментов с открытым исходным кодом для глубокого анализа пакетов

Репозиторий
4.6k1k1 день назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт

nDPI

Build Status Fuzzing Status

Что такое nDPI ?

nDPI® — это библиотека с открытым исходным кодом под лицензией LGPLv3 для глубокой проверки пакетов.

Общий FAQ о nDPI доступен здесь

Как скомпилировать nDPI

Для компиляции этого проекта выполните

  • ./autogen.sh && ./configure
  • make

Если вы получаете ошибки при компиляции croaring.c, попробуйте:

  • ./autogen.sh && ./configure --enable-old-croaring
  • make

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

  • ./autogen.sh && ./configure --with-only-libndpi
  • make

Поддерживаются сборки вне дерева исходников:

  • ./autogen.sh
  • mkdir build
  • cd build
  • ../configure && make

Для запуска тестов дополнительно выполните:

  • ./tests/do.sh # Generate and check for diff's in PCAP files
  • ./tests/do-unit.sh # Run unit tests
  • ./tests/do-dga.sh # Run DGA detection test

или запустите всё командой: make check

Обратите внимание, что (минимальные) предварительные требования для компиляции включают:

  • GNU tools (autoconf automake libtool pkg-config gettext flex bison)
  • GNU C compiler (gcc) or Clang

В системах Debian/Ubuntu выполните:

  • sudo apt-get install build-essential git gettext flex bison libtool autoconf automake pkg-config libpcap-dev libjson-c-dev libnuma-dev libpcre2-dev libmaxminddb-dev librrd-dev

В Arch Linux:

  • sudo pacman -S gcc git gettext flex bison libtool autoconf automake pkg-config libpcap json-c numactl pcre2 libmaxminddb rrdtool

В FreeBSD:

  • sudo pkg install gcc git gettext flex bison libtool autoconf automake devel/pkgconf gmake libpcap json-c pcre2 libmaxminddb rrdtool

Не забудьте использовать gmake, а не make в FreeBSD

В MacOS:

  • brew install coreutils gcc git gettext flex bison libtool autoconf automake pkg-config libpcap json-c pcre2 libmaxminddb rrdtool

В Windows:

Поддерживаются три способа сборки nDPI:

  1. MSYS2 (предполагается, что MSYS2 уже установлен):
  • msys2 -c "pacman --noconfirm -S --needed --overwrite '*' git mingw-w64-x86_64-toolchain automake1.16 automake-wrapper autoconf libtool make mingw-w64-x86_64-json-c mingw-w64-x86_64-crt-git mingw-w64-x86_64-pcre2 mingw-w64-x86_64-libpcap"
  1. Mingw-w64

  2. Visual Studio (см. windows/nDPI.sln)

Примечание: Все версии Windows требуют npcap с включенным режимом совместимости WinPcap.

Как собрать документацию

  • pip install --upgrade pip
  • pip install -r doc/requirements.txt
  • make doc

Используйте встроенный веб-сервер python3 для просмотра документации:

  • make doc-view

Как добавить новый определитель протокола

Полная процедура добавления новых протоколов подробно:

  1. Добавьте новый протокол вместе с его уникальным ID в: src/include/ndpi_protocol_ids.h
  2. Создайте новый протокол в: src/lib/protocols/
  3. Переменные, которые должны храниться на протяжении всего потока (как переменные состояния), необходимо поместить в: src/include/ndpi_typedefs.h в ndpi_flow_tcp_struct (только для TCP), ndpi_flow_udp_struct (только для UDP) или ndpi_flow_struct (для обоих).
  4. Добавьте новую запись для функции поиска нового протокола в: src/include/ndpi_private.h
  5. Выберите (ничего не меняйте) битовую маску выбора из: src/include/ndpi_define.h
  6. Установите порты по умолчанию для протокола в ndpi_init_protocol_defaults в: src/lib/ndpi_main.c
  7. Убедитесь, что есть поддержка nBPF, клонируя PF_RING в ту же директорию, где вы клонировали : . Вы можете игнорировать ошибку

Как использовать nDPI для блокировки выбранного трафика

Вы можете использовать nDPI для избирательной блокировки выбранного интернет-трафика, встроив его в приложение (помните, что nDPI — это всего лишь библиотека). Как ntopng, так и nProbe cento могут это делать.

Цитирование статьи о nDPI

  • Deri, Luca, и др. nDPI: Open-source high-speed deep packet inspection 2014 International Wireless Communications and Mobile Computing Conference (IWCMC). IEEE, 2014.

Видео и презентации

  • The Ultimate Guide to nDPI [2025]
  • Using nDPI to solve real life problems: from First Packet Classification to Obfuscated Traffic detection [PacketFest, 2025]
  • Passive Network Traffic Fingerprinting [FOSDEM, 2025]
  • A Deep Dive Into Traffic Fingerprints using Wireshark [SharkFest, 2024]
  • Network Traffic Classification for Cybersecurity and Monitoring [FOSDEM, 2022]
  • Using nDPI for Monitoring and Security [FOSDEM, 2021]
  • Knowing the Unknown: How to Monitor and Troubleshoot an Unfamiliar Network [SharkFest, 2017]

Проекты, связанные с nDPI

  • nfstream
  • nDPId

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ

Хотя мы делаем всё возможное для определения сетевых протоколов, мы не можем гарантировать, что наше программное обеспечение не содержит ошибок и на 100% точно определяет протоколы. Пожалуйста, убедитесь, что вы уважаете конфиденциальность пользователей и имеете надлежащее разрешение на прослушивание, захват и проверку сетевого трафика.

nDPI является зарегистрированным товарным знаком в США и ЕС.

Скачать инструмент
nDPI
git clone https://github.com/ntop/PF_RING/ && cd PF_RING/userland/nbpf && ./configure && make
/bin/sh: 1: ../lib/pfring_config: not found
  • Из корневого каталога nDPI выполните ./autogen.sh && ./configure --with-pcre2 (nBPF и PCRE2 обычно необязательны, но они нужны для запуска/обновления всех модульных тестов)
  • make
  • make check
  • Обновите документацию, добавив этот новый протокол в doc/protocols.rst
  • Обновите конфигурацию Windows Visual Studio, добавив новый файл c в windows/nDPI.vcxproj