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

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

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

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

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

Категории

Все категории
Loading categories
ayaFlow — Высокопроизводительный анализатор сетевого трафика на основе eBPF, написанный на Rust. | Kitploit
Инструменты/GitHubGitHub/davidhavoc/ayaflow
Сниффинг и анализ пакетовКартирование сетиСетевая безопасностьБезопасность облачных средАнализ DNS
GitHubdavidhavoc/ayaflow

ayaFlow

Высокопроизводительный анализатор сетевого трафика на основе eBPF, написанный на Rust.

Репозиторий
281652 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

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

ayaFlow

ayaFlow — это анализатор сетевого трафика на Rust + eBPF, построенный на Aya. Он запускает один агент на узел Linux, подключает классификатор TC на входе и выходе, а также предоставляет данные о живом трафике, историю на основе SQLite и метрики Prometheus.

Что он делает

  • Захватывает трафик IPv4, IPv6, TCP и UDP с помощью классификатора TC на eBPF.
  • Поддерживает статистику активных соединений в памяти и исторические записи в SQLite.
  • Опционально обогащает трафик обратным DNS, доменами DNS-запросов и TLS SNI.
  • Предоставляет REST API, WebSocket-поток и эндпоинт Prometheus /metrics.
  • Поставляется с примерами для Docker, Kubernetes, Prometheus и Grafana.

Поддерживаемый процесс разработки

Среда захвата пакетов ayaFlow работает только на Linux. Рабочие процессы для контрибьюторов намеренно разделены:

  • Проверки, безопасные для хоста, на macOS или Linux:
    • cargo test -p ayaflow-common
    • cargo test -p ayaflow
    • cargo xtask build-user
  • cargo xtask check-host
  • Сборка и выполнение только на Linux:
    • cargo xtask build-ebpf
    • cargo xtask build
    • cargo xtask run -- --deep-inspect
  • Если вы используете macOS, используйте Docker или виртуальную машину Linux для полного рабочего процесса eBPF. См. HOW_TO_USE_LOCAL.md для обоих сценариев.

    Быстрый старт

    1. Проверка поддержки хоста

    root@kitploit:~
    cargo xtask check-host
    

    2. Сборка на Linux

    root@kitploit:~
    cargo xtask build
    

    3. Запуск на Linux

    root@kitploit:~
    sudo ./target/debug/ayaflow --db-path /tmp/traffic.db
    

    Если параметр --interface опущен, ayaFlow автоматически определяет интерфейс маршрута по умолчанию из /proc/net/route и использует запасной eth0 только в случае неудачи.

    4. Проверка

    root@kitploit:~
    curl http://localhost:3000/api/health
    curl http://localhost:3000/api/stats
    curl "http://localhost:3000/api/history?limit=5&row_type=raw"
    curl http://localhost:3000/metrics
    

    Параметры CLI

    ФлагОписаниеПо умолчанию
    -i, --interfaceИнтерфейс для мониторинга. Если опущен, будет автоматически определён интерфейс маршрута по умолчанию на Linux.автоопределение, запасной eth0
    -p, --portПорт сервера API3000
    --db-pathПуть к базе данных SQLitetraffic.db
    --connection-timeoutОчистка устаревших соединений в секундах60
    --data-retentionАвтоматическое удаление истории старше N секундотключено
    --aggregation-windowХранение окон агрегированной истории вместо строк сырых пакетов0 (сырой режим)
    --allowed-ipsCIDR, которым разрешён доступ к APIбез ограничений
    -c, --configПуть к YAML-файлу конфигурациинет
    -q, --quietПодавление не-ошибочных логовfalse
    --deep-inspectВключить извлечение DNS-запросов и TLS SNIfalse
    --enable-ipv6Включить захват пакетов IPv6false
    --resolve-dnsВключить обратные DNS-запросыfalse

    Справочник API

    ЭндпоинтМетодОписание
    /api/healthGETСтатус здоровья, счётчики пакетов и активная конфигурация среды выполнения
    /api/statsGETВремя работы, пропускная способность, счётчики и активная конфигурация среды выполнения
    /api/liveGETТоп-50 активных соединений по количеству пакетов
    /api/historyGETФильтруемая история трафика с метаданными пагинации
    /api/streamWSСтатистика в реальном времени каждую секунду
    /metricsGETТекстовый формат Prometheus

    /api/history поддерживает:

    • limit, offset
    • start_time, end_time
    • protocol
    • ip, src_ip, dst_ip
    • port, src_port, dst_port
    • direction
    • domain
    • row_type=raw|aggregated

    Пример:

    root@kitploit:~
    curl "http://localhost:3000/api/history?limit=20&protocol=TCP&dst_port=443&row_type=raw"
    

    Структура проекта

    root@kitploit:~
    ayaflow/           Пользовательская среда выполнения, API, хранилище и безопасные для хоста тесты
    ayaflow-common/    Общие типы пакетов/событий, используемые пользовательским пространством и eBPF
    ayaflow-ebpf/      Программа классификатора TC и захвата нагрузки
    xtask/             Вспомогательные скрипты для сборки и рабочего процесса
    k8s/               Манифесты Kubernetes
    monitoring/        Ресурсы Prometheus и Grafana
    

    Дублирующееся дерево src/ на корневом уровне является устаревшим и не является частью поддерживаемого пути сборки. Используйте пакет ayaflow/ и команды cargo xtask выше.

    Руководства по развёртыванию

    • Рабочие процессы на локальном Linux и macOS+VM: HOW_TO_USE_LOCAL.md
    • Docker: HOW_TO_USE_DOCKER.md
    • Kubernetes: HOW_TO_USE_K8S.md

    Техническая документация

    • Архитектура: ARCHITECTURE.md
    • Заметки о производительности и занимаемом пространстве: PERFORMANCE.md

    Протестировано здесь

    Безопасный для хоста рабочий процесс теперь проходит на этой машине разработки macOS с:

    • cargo test -p ayaflow-common
    • cargo test -p ayaflow
    • cargo xtask check-host

    Проверка среды выполнения только на Linux всё ещё должна выполняться на хосте Linux или CI-раннере с установленным набором инструментов eBPF.

    Лицензия

    Этот проект использует три разные лицензии в зависимости от компонента:

    Пользовательские компоненты

    Пользовательский агент и общие библиотеки (ayaflow и ayaflow-common) имеют двойную лицензию на условиях:

    • Apache License, Version 2.0
    • MIT License

    на ваш выбор.

    Компоненты ядра

    Компоненты ядра eBPF (ayaflow-ebpf) строго лицензированы в соответствии с GNU General Public License v2.0 (GPL) для обеспечения совместимости с верификатором ядра Linux.

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