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

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

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

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

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

Категории

Все категории
Loading categories
aiengine — Программируемый движок инспекции пакетов с NIDS, DNS-классификацией, частотным анализом и генерацией авто-регулярных выражений. Поддерживает привязки к Python/Ruby/Java/Lua для интеграции с базами данных и другими инструментами безопасности. | Kitploit
Инструменты/GitHubGitHub/camp0/aiengine
Сниффинг и анализ пакетовАнализ уязвимостейФорензикаСетевая безопасностьМашинное ОбучениеОбнаружение ВторженийАнализ DNSОбнаружение Аномалий
GitHubcamp0/aiengine

aiengine

Программируемый движок инспекции пакетов с NIDS, DNS-классификацией, частотным анализом и генерацией авто-регулярных выражений. Поддерживает привязки к Python/Ruby/Java/Lua для интеграции с базами данных и другими инструментами безопасности.

31779 лет назадПроверено Kitploit
Репозиторий

Популярное

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

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

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

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

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

AIEngine (Искусственный Интеллектуальный Двигатель)

AIEngine — это движок анализа пакетов нового поколения с интерактивным/программируемым интерфейсом на Python/Ruby/Java/Lua, обладающий способностью к обучению без участия человека, функциональностью NIDS (системы обнаружения сетевых вторжений), классификацией DNS-доменов, сбором сетевых данных, сетевой криминалистикой и многим другим.

Актуальный проект находится по адресу https://bitbucket.org/camp0/aiengine

AIEngine также помогает специалистам по сетям и безопасности идентифицировать трафик и разрабатывать сигнатуры для использования в NIDS, межсетевых экранах, классификаторах трафика и т.д.

Основные функциональные возможности AIEngine:

  • Поддержка интерактивного/программного взаимодействия с пользователем во время работы движка.
  • Поддержка PCRE JIT для сопоставления регулярных выражений.
  • Поддержка графов регулярных выражений (сложные шаблоны обнаружения).
  • Поддержка пяти типов сетевых стеков (lan, mobile, lan6, virtual, oflow).
  • Поддержка множеств и фильтров Блума для поиска IP.
  • Поддержка операционных систем Linux, FreeBSD и macOS.
  • Поддержка сопоставления доменов HTTP, DNS и SSL.
  • Поддержка заблокированных доменов и хостов для HTTP, DNS, SMTP и SSL.
  • Анализ частоты неизвестного трафика и автоматическая генерация регулярных выражений.
  • Генерация сигнатур Yara.
  • Простая интеграция с базами данных (MySQL, Redis, Cassandra, Hadoop и т.д.) для корреляции данных.
  • Простая интеграция с другими пакетными движками (Netfilter).
  • Поддержка очистки кэша памяти для обновления сохраненной информации.
  • Поддержка обнаружения DDoS на сетевом/прикладном уровне.
  • Поддержка отклонения TCP/UDP-соединений.
  • Поддержка сетевой криминалистики в реальном времени.
  • Поддержка протоколов, таких как Bitcoin, CoAP, DHCP, DNS, GPRS, GRE, HTTP, ICMPv4/ICMPv6, IMAP, IPv4/v6, Modbus, MPLS, MQTT, NTP, OpenFlow, POP, RTP, SIP, SMTP, SSDP, SSL, TCP, UDP, VLAN, VXLAN.

Использование AIEngine

Чтобы использовать AIEngine (урезанная версия), просто выполните бинарный файл aiengine или воспользуйтесь привязками python/ruby/java/lua.

root@kitploit:~
luis@luis-xps:~/c++/aiengine/src$ ./aiengine -h
aiengine 1.5
Обязательные аргументы:
  -I [ --input ] arg                Задает сетевой интерфейс, файл pcap или
                                    каталог с файлами pcap.

Необязательные аргументы канального уровня:
  -q [ --tag ] arg      Выбирает тип тега канального уровня (vlan, mpls).

Необязательные аргументы TCP:
  -t [ --tcp-flows ] arg (=32768) Задает количество TCP-потоков в пуле.

Необязательные аргументы UDP:
  -u [ --udp-flows ] arg (=16384) Задает количество UDP-потоков в пуле.

Необязательные аргументы регулярных выражений:
  -R [ --enable-signatures ]     Включает движок сигнатур.
  -r [ --regex ] arg (=.*)       Задает регулярное выражение для оценки потоков.
  -c [ --flow-class ] arg (=all) Использует tcp, udp или all для сопоставления сигнатуры
				 с потоками.
  -m [ --matched-flows ]         Показывает потоки, соответствующие регулярному выражению.
  -j [ --reject-flows ]          Отклоняет потоки, соответствующие регулярному выражению.
  -w [ --evidence ]              Генерирует pcap-файл с совпавшим регулярным выражением
                                     для криминалистического анализа.

Необязательные аргументы частот:
  -F [ --enable-frequencies ]       Включает движок частот.
  -g [ --group-by ] arg (=dst-port) Группирует частоты по src-ip, dst-ip, src-port и dst-port.
  -f [ --flow-type ] arg (=tcp)     Использует потоки tcp или udp.
  -L [ --enable-learner ]           Включает движок обучения.
  -k [ --key-learner ] arg (=80)    Задает ключ для движка обучения.
  -b [ --buffer-size ] arg (=64)    Задает размер внутреннего буфера для генерации регулярного выражения.
  -y [ --enable-yara ]              Генерирует сигнатуру yara.

Необязательные аргументы:
  -n [ --stack ] arg (=lan)    Задает сетевой стек (lan, mobile, lan6, virtual, oflow).
  -d [ --dumpflows ]           Выводит потоки в stdout.
  -s [ --statistics ] arg (=0) Показывает статистику сетевого стека (5 уровней).
  -T [ --timeout ] arg (=180)  Задает таймаут потоков.
  -P [ --protocol ] arg        Показывает статистику конкретного протокола сетевого стека.
  -e [ --release ]             Очищает кэши.
  -l [ --release-cache ] arg   Очищает конкретный кэш.
  -p [ --pstatistics ]         Показывает статистику процесса.
  -h [ --help ]                Показать справку.
  -v [ --version ]             Показать версию.

Типы сетевых стеков

AIEngine поддерживает пять типов сетевых стеков в зависимости от топологии сети.

  • StackLan (lan) Локальная сеть на основе IPv4.

  • StackLanIPv6 (lan6) Локальная сеть с поддержкой IPv6.

  • StackMobile (mobile) Мобильная сеть (интерфейс Gn) для IPv4.

  • StackVirtual (virtual) Стек для виртуальных/облачных сред с VxLan и прозрачным GRE.

  • StackOpenFlow (oflow) Стек для сред OpenFlow.

Интеграция/программирование AIEngine с другими системами

AIEngine также является модулем python/ruby/java/lua, что обеспечивает большую гибкость в плане интеграции с другими системами и функциями. Основные объекты, экспортируемые модулем python, перечислены ниже.

root@kitploit:~
    DNSInfo
    BitcoinInfo
    DatabaseAdaptor (абстрактный класс)
    DomainName
    DomainNameManager
    Flow
    FlowManager
    Frequencies
    FrequencyGroup
    HTTPInfo
    HTTPUriSet
    IMAPInfo
    IPAbstractSet (абстрактный класс)
        IPSet
    IPSetManager
    LearnerEngine
    NetworkStack (абстрактный класс)
        StackLan
        StackLanIPv6
        StackMobile
        StackOpenFlow
        StackVirtual
    POPInfo
    PacketDispatcher
    PacketFrequencies
    Regex
    RegexManager
    SIPInfo
    SMTPInfo
    SSLInfo
    MQTTInfo
    CoAPInfo

Для полного описания методов класса

root@kitploit:~
import pyaiengine
help(pyaiengine)

Проверьте страницы вики по конфигурации или каталог examples, чтобы найти более интересные примеры. [https://bitbucket.org/camp0/aiengine/wiki/Configurations]

Компиляция бинарного файла AIEngine

root@kitploit:~
$ git clone https://bitbucket.com/camp0/aiengine
$ ./autogen.sh
$ ./configure
$ make

Компиляция библиотеки Python для AIEngine

Первый вариант компиляции использует оптимизацию O3, что приведет к созданию небольшой библиотеки.

root@kitploit:~
$ git clone https://bitbucket.com/camp0/aiengine
$ ./autogen.sh
$ ./configure
$ cd src
$ make python
$ python pyai_test.py

Второй вариант компилирует библиотеку стандартным для Python способом с помощью setup.py, что приведет к созданию библиотеки большего размера по сравнению с предыдущим.

root@kitploit:~
$ git clone https://bitbucket.com/camp0/aiengine
$ ./autogen.sh
$ ./configure
$ cd src
$ python setup.py build_ext -i
$ python pyai_test.py

Компиляция библиотеки Ruby для AIEngine

root@kitploit:~
$ git clone https://bitbucket.com/camp0/aiengine
$ ./autogen.sh
$ ./configure
$ cd src
$ make ruby
$ ruby ruai_tests.rb

Компиляция библиотеки Java для AIEngine

root@kitploit:~
$ git clone https://bitbucket.com/camp0/aiengine
$ ./autogen.sh
$ ./configure
$ cd src
$ make java
$ java -cp ".:/usr/share/java/junit.jar:/usr/share/java/hamcrest/core.jar:./buildjava" org.junit.runner.JUnitCore JunitTestSuite

Компиляция библиотеки Lua для AIEngine

root@kitploit:~
$ git clone https://bitbucket.com/camp0/aiengine
$ ./autogen.sh
$ ./configure
$ cd src
$ make lua
$ lua luai_tests.lua

Вклад в AIEngine

AIEngine разрабатывается на стандарте C++11/14 и распространяется на условиях GPLv2.

Получите исходный код AIEngine с помощью

root@kitploit:~
$ git clone https://bitbucket.com/camp0/aiengine

Если вас интересует какая-либо функциональность или вам нужна помощь, просто напишите мне письмо. Любые вклады всегда приветствуются.

Разработка новой функциональности

AIEngine разрабатывался с использованием разработки через тестирование (TDD). Поэтому для поддержания того же жизненного цикла новая функциональность должна иметь модульные тесты в каталоге, созданном для новой функциональности, и для интеграции со всей системой, а затем интегрироваться с основным файлом tests.cc в каталоге /src.

Скачать инструмент