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

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

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

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

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

Категории

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

ayaFlow

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

Репозиторий
28161 месяц назадПроверено 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

Справочник API

/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.

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