HOMER SIP Capture

Network Analysis v11.0.290 · 10.07.2026 активный

Открытая платформа захвата и анализа VoIP-сигнализации. Перехватывает SIP, RTCP, HEP/EEP протоколы в реальном времени. Хранит в PostgreSQL/Elasticsearch, визуализирует в веб-интерфейсе. Используется для forensics VoIP-инфраструктуры и обнаружения toll fraud.

v11.0.290
10.07.2026 current
Добавлен 13.07.2026 · Обновлён 15.07.2026 · Network Analysis
Установка
# Docker (самый простой путь):
git clone https://github.com/sipcapture/homer-docker
docker-compose up -d
# Веб-интерфейс на :9080
переведено ИИ

homer eleven

100% открытый исходный код для телекоммуникационной наблюдаемости с 2011 года

homer — это универсальный монолитный сервер для захвата HEP и API, лежащий в основе озера данных Homer 11.x

homer11

Возможности

  • Приложение «все-в-одном» (запись, чтение, координатор, компактор, API)
  • Современная кодовая база на golang для X64/ARM64 на Linux/MacOS
  • Работает на DuckDB 1.5 и Apache Arrow/IPC/Parquet
  • Архитектура озера данных на основе каталога DuckLake и локального/объектного хранилища
  • Сквозной столбчатый дизайн OTLP с выполнением запросов по требованию
  • Линейное масштабирование для запросов через общий каталог/пул объектного хранилища
  • Гибкая поддержка схем для растущих задач и протоколов
  • Обратная совместимость со всеми агентами HEPv3
  • Опциональный сборщик SIP QoS VQRTCP (application/vq-rtcpxr → DuckLake + UI транзакционного QoS)
  • Опциональная поддержка сигнального SRS SIPREC (RFC 7865/7866, захват метаданных)
  • Легко поддерживается, эксплуатируется и масштабируется (вплоть до нуля!)
  • Облачно-ориентированный дизайн для K8s и стандартных развертываний
  • Встроенный пользовательский интерфейс для людей
  • Поддержка MCP и дружелюбный к LLM/агентам дизайн (украдите наши скучные работы)

Архитектура

Homer использует модульную архитектуру с четырьмя основными компонентами:

┌─────────────────────────────────────────────────────────────────────────────┐
│                           Homer Core                                        │
│                                                                             │
│  ┌─────────────┐   ┌─────────────┐   ┌──────────┐   ┌─────────────────┐     │
│  │   Ingest    │   │   Storage   │   │   Node   │   │   Coordinator   │     │
│  │  (HEP recv) │──▶│  (DuckLake) │──▶│ gRPC/HTTP│──▶│    (REST API)   │     │
│  └─────────────┘   └─────────────┘   └──────────┘   └─────────────────┘     │
│   UDP/TCP/HTTP      Parquet+S3     Airport :50051     HTTP :8080            │
│                                    FlightSQL :50055  (opt. proxy :32010)    │
└─────────────────────────────────────────────────────────────────────────────┘

Модули

Модуль Описание
Сбор данных (Ingest) Принимает пакеты HEP через UDP/TCP/TLS/HTTP/HTTPS; опциональные слушатели SIP для VQRTCP и SIPREC
Хранилище (Storage) Записывает данные в DuckLake (Parquet + каталог)
Нода (Node) gRPC аэропорта + HTTP /query; опциональный Arrow FlightSQL для Grafana (docs/FLIGHTSQL.md)
Координатор (Coordinator) REST API шлюз для UI и внешних приложений

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

Варианты установки

  • Скачать релиз и установить пакет homer для вашей ОС/архитектуры
  • Использовать официальные docker-сборки и примеры compose
  • Собрать свой релиз локально (продолжайте читать)

Развертывание «все-в-одном»

<<>

О других вариантах хранилища см. доступные ПОЛИТИКИ ХРАНИЛИЩА

Опционально: Сборщик VQRTCP и поддержка SIPREC

Обе функции отключены по умолчанию и требуют модуль записи (DuckLake). Включите их в разделе ingest файла homer.json:

<<>

Функция Слушатель Хранилище UI
VQRTCP Выделенный SIP (по умолчанию :5063) vqrtcpxr_stats Транзакционная вкладка QoS → VQRTCP
SIPREC Процессный SRS (по умолчанию :5062) hep_proto_1_siprec Профиль поиска протоколов siprec

Направьте ваш SBC или медиа-шлюз на SIP-порт VQRTCP для отчетов application/vq-rtcpxr. Направьте клиент записи сессий SIPREC (SRC) на порт SIPREC для записи сигнализации и rs-метаданных.

См. docs/VQRTCP.md и docs/SIPREC.md для деталей формата, корреляции и тюнинга.

Сборка и запуск

# Build
make

# Run as server (default mode)
./homer --config-path /etc/homer/homer.json

# With debug logging
./homer --config-path /etc/homer/homer.json --log-level debug

Подкоманды

Homer использует CLI на основе подкоманд. Запуск homer без аргументов запускает сервер.

homer                         Run the server (default)
homer search [flags]          Search Homer data via coordinator API
homer cli [flags]             Interactive DuckLake SQL shell
homer system [flags]          System operations (compaction, extensions, reload)
homer wizard [flags]          Interactive config generator wizard
homer mcp [flags]             Start MCP stdio server
homer version                 Show version
homer help                    Show full help with all flags

Режим сервера (по умолчанию)

homer --config-path /etc/homer/homer.json
homer --config-path /etc/homer/homer.json --log-level debug --syslog-disable
Флаг Описание
--config-path <path> Путь к файлу конфигурации или каталогу
--log-level <level> Уровень журнала: debug, info, warn, error, trace
--syslog-disable Отключить syslog, использовать только stdout
--pid-file <path> Путь к PID-файлу (по умолчанию: /var/run/homer-core.pid)

Поиск (через API координатора)

Поиск данных Homer из командной строки с выводом в виде таблицы, вертикального списка, CSV, JSON, графика, графа вызовов или формата PCAP (только SIP; используйте --format pcap с -o / --output).

<<>

См. docs/SEARCH.md для полной документации и примеров.

CLI (оболочка DuckLake SQL)

Интерактивная оболочка для прямых запросов к DuckLake:

<<>

Команда Описание
help, \h, \? Показать справку
tables, \dt Вывести список доступных таблиц
clear, \c Очистить экран
exit, quit, \q Выйти из CLI

Системные операции

# Run full compaction
homer system --config-path /etc/homer/homer.json --compaction-force

# Install DuckDB extensions
homer system --config-path /etc/homer/homer.json --install-extensions

# Show DuckDB version
homer system --config-path /etc/homer/homer.json --duckdb-version

# Generate example config
homer system --generate-example-config > homer.json

# Reload running process
homer system --reload

Мастер (генератор конфигурации)

Интерактивный мастер, генерирующий полный файл конфигурации homer.json:

<<>

Профиль Включенные модули
all-in-one ingest + storage + node + coordinator
writer ingest + storage
edge ingest + storage + node
coordinator только coordinator
node только node

Примеры конфигураций

См. каталог examples/:

Файл Описание
homer.json Разворачивание «все-в-одном»
homer-writer.json Сбор данных + Хранилище + Нода
homer-node.json Только нода (только чтение)
homer-coordinator.json Только координатор
homer-edge.json граничное развертывание

Документация

Опубликованные документы (GitHub Pages): https://sipcapture.github.io/homer/ — построены из docs/ через MkDocs при пуше в homer11. Включите Settings → Pages → Build and deployment: GitHub Actions один раз после первого запуска workflow.

<<>

Лицензия

Выпускается под лицензией AGPL-3.0 License

Copyright (C) 2025 QXIP BV

Комментарии
Войдите, чтобы оставить комментарий