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

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

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

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

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

Категории

Все категории
Loading categories
holo — Набор протоколов маршрутизации на языке Rust, реализующий BGP, OSPF, IS-IS, RIP и VRRP с конфигурацией на основе YANG, автоматизацией через gNMI/gRPC и встроенным фаззингом для крупномасштабных, управляемых автоматизацией сетей. | Kitploit
Инструменты/GitHubGitHub/holo-routing/holo
Картирование сетиАудит конфигурацииФаззингСетевая безопасностьАнализ DNS
GitHubholo-routing/holo

holo

Набор протоколов маршрутизации на языке Rust, реализующий BGP, OSPF, IS-IS, RIP и VRRP с конфигурацией на основе YANG, автоматизацией через gNMI/gRPC и встроенным фаззингом для крупномасштабных, управляемых автоматизацией сетей.

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

Популярное

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

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

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

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

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

MIT licensed Build Status codecov Discord

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

Описание того, что такое протокол маршрутизации, можно найти на этой странице Википедии.

Возможности

Фокус на простоте и корректности

Основная цель Holo — создать надёжную, простую в сопровождении и расширяемую кодовую базу. С учётом постоянно растущей сложности протоколов маршрутизации и их расширений крайне важно иметь реализации протоколов маршрутизации, построенные на прочном фундаменте. Для этого кодовая база Holo ставит во главу угла простоту, модульность и тщательную документацию. Благодаря строгости компилятора Rust и обширным модульным тестам ожидается, что большинство регрессий будет выявлено на ранних этапах цикла разработки новых функций. Подробнее см. на странице Архитектура.

Готовность к автоматизации

Holoo был разработан специально для крупномасштабных сетей, управляемых автоматизацией, которые требуют программируемой настройки и мониторинга с использованием структурированных и смоделированных данных. Holo нативно реализует стандартные модули YANG от IETF и поддерживает несколько интерфейсов управления, включая нативные gRPC и gNMI. Кроме того, Holo имеет автономный CLI, который динамически формирует команды из модулей YANG и взаимодействует с демоном Holo через gRPC.

Изменения конфигурации обрабатываются как транзакции, что гарантирует применение либо всех изменений, либо ни одного. Эта функция значительно упрощает сетевую автоматизацию, поскольку устраняет необходимость в восстановлении после ошибок в управляющих приложениях. Holo также поддерживает сетевые транзакции, охватывающие несколько сетевых устройств. Дополнительные возможности сетевой автоматизации включают поддержку подтверждённых фиксаций (confirmed commits) и откат конфигурации.

Безопасность

Благодаря тому, что Holo написан на языке с безопасной работой с памятью, он защищён от широкого спектра ошибок, связанных с памятью, и уязвимостей безопасности. Помимо гарантий безопасности, предоставляемых Rust, демон Holo также сбрасывает привилегии при запуске. Для определённых операций, таких как привязка сокетов, используются возможности Linux, чтобы получить минимально необходимые разрешения на минимальное время.

Holo также обеспечивает надёжную защиту от наиболее распространённого вектора атак в стеках протоколов маршрутизации: атак типа «отказ в обслуживании» (DoS) с помощью вредоносных входных пакетов. Входящие пакеты декодируются в изолированных контролируемых асинхронных задачах, что позволяет реализациям протоколов корректно восстанавливаться после паник, например, игнорируя повреждённые пакеты или закрывая только затронутый TCP-поток, не ставя под угрозу стабильность всего демона. Кроме того, благодаря модульной конструкции Holo и встроенной поддержке фазинга на основе покрытия, ожидается, что большинство ошибок разбора будет обнаружено и устранено в процессе разработки.

Интегрированные реализации протоколов

Некоторые протоколы, такие как OSPF и RIP, имеют разные версии, которые широко развёрнуты, обычно одна для IPv4, а другая для IPv6. Holo использует обобщённые типы (generics) Rust для создания версионно-независимых реализаций протоколов, где большая часть кода является общей для разных версий протокола. Такой подход снижает затраты на сопровождение этих протоколов и упрощает внедрение новых функций, которые приносят пользу всем версиям протокола.

Параллелизм

Holo активно использует асинхронные операции и полагается на среду выполнения Tokio для планирования задач и их выполнения в пуле потоков. Для достижения лучшей производительности как операции ввода-вывода, так и алгоритмы с интенсивными вычислениями выносятся в отдельные задачи, максимизируя использование всех доступных ядер ЦП. Поддержка кода, не зависящего от среды выполнения, запланирована на будущее, как только необходимые абстракции будут стандартизированы командой разработчиков языка Rust.

Структурированное логирование

Holo генерирует сообщения журнала, содержащие структурированные данные, которые могут быть представлены в различных форматах, таких как JSON, текст и т. д. Поскольку логирование осуществляется через фасад tracing, для удовлетворения различных потребностей пользователей могут использоваться различные подписчики tracing. Например, логирование может быть направлено в файл, journald, централизованный коллектор OpenTelemetry или любую комбинацию этих вариантов с потенциально разными уровнями логирования.

Воспроизводимые ошибки

Holo предоставляет функциональность записи и воспроизведения, что позволяет легко воспроизвести любую ошибку, о которой сообщил пользователь. Демон Holo можно настроить на запись полного жизненного цикла экземпляра протокола в файл. Этот файл затем можно воспроизвести на другой машине, воспроизводя ту же последовательность событий. В то время как сеанс записи может длиться часы или дни, процесс воспроизведения должен занять всего несколько секунд. Это возможно благодаря модульной архитектуре Holo, где все операции, связанные со временем и вводом-выводом, выполняются в отдельных задачах и абстрагируются как сообщения событий.

Установка

Подробные инструкции по установке см. в файле INSTALL.md.

Поддерживаемые платформы

В настоящее время Holo совместим только с операционными системами Linux. Поддержка WebAssembly запланирована на будущее.

Начало работы

Самый простой способ начать использовать Holo — использовать предварительно собранные Docker-контейнеры в сочетании с программным обеспечением containerlab. Различные предварительно настроенные сетевые топологии можно найти по этой ссылке. Эти топологии можно развернуть одной командой, что позволяет тестировать Holo в различных сетевых конфигурациях, включая тестирование интероперабельности с другими реализациями.

Кроме того, Holo можно использовать везде, где требуется стек маршрутизации, например, в программных маршрутизаторах, при условии, что набор функций соответствует вашим конкретным потребностям.

Соответствие стандартам

Holo поддерживает следующие интернет-стандарты:

BFD
  • RFC 5880 - Двунаправленное обнаружение пересылки (BFD)
  • RFC 5881 - Двунаправленное обнаружение пересылки (BFD) для IPv4 и IPv6 (один переход)
  • RFC 5882 - Общее применение двунаправленного обнаружения пересылки (BFD)
  • RFC 5883 - Двунаправленное обнаружение пересылки (BFD) для многопереходных путей
BGP
Скачать инструмент