Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
holo — Rust-basierte Routing-Protocol-Suite, die BGP, OSPF, IS-IS, RIP und VRRP implementiert, mit YANG-modellierter Konfiguration, gNMI/gRPC-Automatisierung und integriertem Fuzzing für hochskalierbare, automatisierungsgetriebene Netzwerke. | Kitploit
Tools/GitHubGitHub/holo-routing/holo
NetzwerkkartierungKonfigurationsprüfungFuzzingNetzwerksicherheitDNS-Analyse
GitHubholo-routing/holo

holo

Rust-basierte Routing-Protocol-Suite, die BGP, OSPF, IS-IS, RIP und VRRP implementiert, mit YANG-modellierter Konfiguration, gNMI/gRPC-Automatisierung und integriertem Fuzzing für hochskalierbare, automatisierungsgetriebene Netzwerke.

Repository anzeigen
5354615vor 24 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

MIT licensed Build Status codecov Discord

Holo ist eine Sammlung von Routing-Protokollen, die für hochskalierbare und automatisierungsgesteuerte Netzwerke entwickelt wurde.

Eine Beschreibung dessen, was ein Routing-Protokoll ist, finden Sie auf dieser Wikipedia-Seite.

Features

Fokus auf Einfachheit und Korrektheit

Das Hauptziel von Holo ist es, eine zuverlässige, leicht wartbare und erweiterbare Codebasis zu schaffen. Angesichts der ständig wachsenden Komplexität von Routing-Protokollen und ihren Erweiterungen ist es entscheidend, Routing-Protokoll-Implementierungen auf einer robusten Grundlage zu haben. Zu diesem Zweck priorisiert Holos Codebasis Einfachheit, Modularität und gründliche Dokumentation. Dank der Strenge des Rust-Compilers und umfangreicher Unit-Tests wird erwartet, dass die meisten Regressionen früh im Entwicklungszyklus neuer Funktionen erkannt werden. Weitere Einzelheiten finden Sie auf der Seite Architecture.

Automatisierungsbereit

Holo wurde speziell für hochskalierbare, automatisierungsgesteuerte Netzwerke entwickelt, die programmierbare Konfiguration und Überwachung mithilfe strukturierter und modellierter Daten erfordern. Holo implementiert nativ die standardmäßigen YANG-Module der IETF und unterstützt mehrere Verwaltungsschnittstellen, darunter natives gRPC und gNMI. Darüber hinaus verfügt Holo über ein eigenständiges CLI, das Befehle dynamisch aus YANG-Modulen generiert und über gRPC mit dem Holo-Daemon kommuniziert.

Die Änderungen an der Konfiguration werden als Transaktionen verarbeitet, was garantiert, dass entweder alle Änderungen übernommen werden oder gar keine. Diese Funktion erleichtert die Netzwerkautomatisierung erheblich, da sie die Notwendigkeit einer Fehlerbehebung in Verwaltungsanwendungen überflüssig macht. Holo unterstützt auch netzwerkweite Transaktionen, die mehrere Netzwerkgeräte umfassen. Zu den weiteren Netzwerkautomatisierungsfunktionen gehören bestätigte Commits und die Unterstützung von Konfigurations-Rollbacks.

Sicherheit

Dadurch, dass es in einer speichersicheren Sprache geschrieben ist, ist Holo immun gegen eine Vielzahl von speicherbezogenen Fehlern und Sicherheitslücken. Neben den Sicherheitsgarantien von Rust senkt der Holo-Daemon beim Start auch die Berechtigungen. Für bestimmte Vorgänge, wie das Binden von Sockets, werden Linux-Capabilities verwendet, um für die kürzestmögliche Zeit die minimal erforderliche Berechtigung zu erhalten.

Holo bietet auch einen robusten Schutz gegen den häufigsten Angriffsvektor in Routing-Protokoll-Stacks: Denial-of-Service (DoS)-Angriffe durch bösartige Paketeingaben. Eingehende Pakete werden in isolierten, überwachten asynchronen Tasks dekodiert, sodass die Protokollimplementierungen sich von Paniken erholen können, z. B. durch das Ignorieren fehlerhafter Pakete oder das Schließen nur des betroffenen TCP-Streams, ohne die Stabilität des gesamten Daemons zu gefährden. Dank des modularen Designs von Holo und der integrierten Unterstützung für coverage-geführtes Fuzzing werden die meisten Parsing-Fehler voraussichtlich während der Entwicklung erkannt und behoben.

Integrierte Protokollimplementierungen

Einige Protokolle wie OSPF und RIP haben verschiedene Versionen, die weit verbreitet sind, typischerweise eine für IPv4 und eine für IPv6. Holo nutzt Rusts Generics, um versionsunabhängige Protokollimplementierungen zu ermöglichen, bei denen der Großteil des Codes von den verschiedenen Protokollversionen gemeinsam genutzt wird. Dieser Ansatz reduziert die Wartungskosten dieser Protokolle und erleichtert die Auslieferung neuer Funktionen, die allen Protokollversionen zugutekommen.

Parallelität

Holo nutzt umfangreich asynchrone Operationen und verlässt sich auf die Tokio-Laufzeit, um Tasks zu planen und auf einem Thread-Pool auszuführen. Um eine bessere Leistung zu erzielen, werden sowohl I/O-Anfragen als auch CPU-intensive Algorithmen in separate Tasks ausgelagert, um die Nutzung aller verfügbaren CPU-Kerne zu maximieren. Die Unterstützung für laufzeitunabhängigen Code ist für die Zukunft geplant, sobald die notwendigen Abstraktionen vom Rust-Sprachteam standardisiert sind.

Strukturierte Protokollierung

Holo generiert Protokollmeldungen, die strukturierte Daten enthalten, die in verschiedenen Formaten wie JSON, Text usw. dargestellt werden können. Da die Protokollierung über die tracing-Fassade erfolgt, können verschiedene tracing-Subscriber genutzt werden, um unterschiedliche Benutzeranforderungen zu erfüllen. Beispielsweise kann die Protokollierung in eine Datei, journald, einen zentralen OpenTelemetry-Collector oder jede Kombination dieser Optionen mit potenziell unterschiedlichen Protokollierungsstufen erfolgen.

Reproduzierbare Fehler

Holo bietet eine Aufzeichnungs- und Wiedergabefunktion, die eine einfache Reproduktion jedes benutzergemeldeten Fehlers ermöglicht. Der Holo-Daemon kann so eingerichtet werden, dass die gesamte Lebensdauer einer Protokollinstanz in einer Datei aufgezeichnet wird. Diese Datei kann dann auf einem anderen Rechner abgespielt werden, wobei die gleiche Ereignissequenz reproduziert wird. Während eine Aufzeichnungssitzung Stunden oder Tage dauern kann, sollte der Wiedergabeprozess nur wenige Sekunden dauern. Dies ist dank Holos modularer Architektur möglich, bei der alle zeitbezogenen und I/O-Operationen in separaten Tasks ausgeführt und als Ereignismeldungen abstrahiert werden.

Installation

Detaillierte Installationsanweisungen finden Sie in der Datei INSTALL.md.

Unterstützte Plattformen

Derzeit ist Holo nur mit Linux-Betriebssystemen kompatibel. Die Unterstützung von WebAssembly ist für die Zukunft geplant.

Erste Schritte

Der einfachste Weg, mit Holo zu beginnen, ist die Verwendung vorgefertigter Docker-Container in Kombination mit der Software containerlab. Eine Vielzahl vorkonfigurierter Netzwerktopologien finden Sie unter diesem Link. Diese Topologien können mit einem einzigen Befehl bereitgestellt werden, sodass Sie Holo in verschiedenen Netzwerkkonfigurationen testen können, einschließlich Interoperabilitätstests mit anderen Implementierungen.

Darüber hinaus kann Holo überall dort eingesetzt werden, wo ein Routing-Stack benötigt wird, z. B. in Software-Routern, sofern der Funktionsumfang Ihren spezifischen Anforderungen entspricht.

Compliance

Holo unterstützt die folgenden Internetstandards:

BFD
  • RFC 5880 - Bidirectional Forwarding Detection (BFD)
  • RFC 5881 - Bidirectional Forwarding Detection (BFD) for IPv4 and IPv6 (Single Hop)
  • RFC 5882 - Generic Application of Bidirectional Forwarding Detection (BFD)
  • RFC 5883 - Bidirectional Forwarding Detection (BFD) for Multihop Paths
BGP
Tool herunterladen