Skip to content
KitploitKITPLOIT
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 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
53546vor 11 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
  • RFC 1997 - BGP Communities Attribute
  • RFC 2385 - Protection of BGP Sessions via the TCP MD5 Signature Option
  • RFC 2545 - Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain Routing
  • RFC 2918 - Route Refresh Capability for BGP-4
  • RFC 4271 - A Border Gateway Protocol 4 (BGP-4)
  • RFC 4360 - BGP Extended Communities Attribute
  • RFC 4486 - Subcodes for BGP Cease Notification Message
  • RFC 4760 - Multiprotocol Extensions for BGP-4
  • RFC 5082 - The Generalized TTL Security Mechanism (GTSM)
  • RFC 5492 - Capabilities Advertisement with BGP-4
  • RFC 5668 - 4-Octet AS Specific BGP Extended Community
  • RFC 5701 - IPv6 Address Specific BGP Extended Community Attribute
  • RFC 6286 - Autonomous-System-Wide Unique BGP Identifier for BGP-4
  • RFC 6608 - Subcodes for BGP Finite State Machine Error
  • RFC 6793 - BGP Support for Four-Octet Autonomous System (AS) Number Space
  • RFC 7606 - Revised Error Handling for BGP UPDATE Messages
  • RFC 7607 - Codification of AS 0 Processing
  • RFC 8092 - BGP Large Communities Attribute
  • RFC 8212 - Default External BGP (EBGP) Route Propagation Behavior without Policies
  • RFC 8642 - Policy Behavior for Well-Known BGP Communities
  • RFC 9774 - Deprecation of AS_SET and AS_CONFED_SET in BGP
IS-IS
  • ISO/IEC 10589 - Information technology — Telecommunications and information exchange between systems — Intermediate System to Intermediate System intra-domain routeing information exchange protocol for use in conjunction with the protocol for providing the connectionless-mode network service (ISO 8473)
  • RFC 1195 - Use of OSI IS-IS for Routing in TCP/IP and Dual Environments
  • RFC 3719 - Recommendations for Interoperable Networks using Intermediate System to Intermediate System (IS-IS)
  • RFC 3787 - Recommendations for Interoperable IP Networks using Intermediate System to Intermediate System (IS-IS)
  • RFC 5120 - M-ISIS: Multi Topology (MT) Routing in Intermediate System to Intermediate Systems (IS-ISs)
  • RFC 5301 - Dynamic Hostname Exchange Mechanism for IS-IS
  • RFC 5303 - Three-Way Handshake for IS-IS Point-to-Point Adjacencies
  • RFC 5304 - IS-IS Cryptographic Authentication
  • RFC 5305 - IS-IS Extensions for Traffic Engineering
  • RFC 5308 - Routing IPv6 with IS-IS
  • RFC 5310 - IS-IS Generic Cryptographic Authentication
  • RFC 6232 - Purge Originator Identification TLV for IS-IS
  • RFC 6233 - IS-IS Registry Extension for Purges
  • RFC 7308 - Extended Administrative Groups in MPLS Traffic Engineering (MPLS-TE)
  • RFC 7602 - IS-IS Extended Sequence Number TLV
  • RFC 7794 - IS-IS Prefix Attributes for Extended IPv4 and IPv6 Reachability
  • RFC 7917 - Advertising Node Administrative Tags in IS-IS
  • RFC 7981 - IS-IS Extensions for Advertising Router Information
  • RFC 7987 - IS-IS Minimum Remaining Lifetime
  • RFC 8401 - Bit Index Explicit Replication (BIER) Support via IS-IS
  • RFC 8405 - Shortest Path First (SPF) Back-Off Delay Algorithm for Link-State IGPs
  • RFC 8491 - Signaling Maximum SID Depth (MSD) Using IS-IS
  • RFC 8570 - IS-IS Traffic Engineering (TE) Metric Extensions
  • RFC 8667 - IS-IS Extensions for Segment Routing
  • RFC 8918 - Invalid TLV Handling in IS-IS
  • RFC 9479 - IS-IS Application-Specific Link Attributes
  • draft-ietf-bier-lsr-non-mpls-extensions-03 - LSR Extensions for BIER non-MPLS Encapsulation
  • draft-ietf-lsr-distoptflood-12 - IS-IS Distributed Flooding Reduction
  • draft-westphal-lsr-isis-database-checksumming-00 - IS-IS Database Fingerprinting
MPLS LDP
  • RFC 5036 - LDP Specification
  • RFC 5561 - LDP Capabilities
  • RFC 5918 - Label Distribution Protocol (LDP) 'Typed Wildcard' Forward Equivalence Class (FEC)
  • RFC 5919 - Signaling LDP Label Advertisement Completion
  • RFC 6720 - The Generalized TTL Security Mechanism (GTSM) for the Label Distribution Protocol (LDP)
Multicast
  • RFC 2236 - Internet Group Management Protocol, Version 2
OSPF
  • RFC 2328 - OSPF Version 2
  • RFC 3623 - Graceful OSPF Restart
  • RFC 5187 - OSPFv3 Graceful Restart
  • RFC 5243 - OSPF Database Exchange Summary List Optimization
  • RFC 5250 - The OSPF Opaque LSA Option
  • RFC 5340 - OSPF for IPv6
  • RFC 5613 - OSPF Link-Local Signaling
  • RFC 5642 - Dynamic Hostname Exchange Mechanism for OSPF
  • RFC 5709 - OSPFv2 HMAC-SHA Cryptographic Authentication
  • RFC 5838 - Support of Address Families in OSPFv3
  • RFC 6987 - OSPF Stub Router Advertisement
  • RFC 7166 - Supporting Authentication Trailer for OSPFv3
  • RFC 7684 - OSPFv2 Prefix/Link Attribute Advertisement
  • RFC 7770 - Extensions to OSPF for Advertising Optional Router Capabilities
  • RFC 7777 - Advertising Node Administrative Tags in OSPF
  • RFC 8362 - OSPFv3 Link State Advertisement (LSA) Extensibility
  • RFC 8405 - Shortest Path First (SPF) Back-Off Delay Algorithm for Link-State IGPs
  • RFC 8476 - Signaling Maximum SID Depth (MSD) Using OSPF
  • RFC 8665 - OSPF Extensions for Segment Routing
  • RFC 8666 - OSPFv3 Extensions for Segment Routing
  • RFC 9983 - OSPFv2 Anycast Property Advertisement
  • draft-ietf-bier-ospfv3-extensions-07 - OSPFv3 Extensions for BIER
  • draft-ietf-bier-lsr-non-mpls-extensions-03 - LSR Extensions for BIER non-MPLS Encapsulation
RIP
  • RFC 2080 - RIPng for IPv6
  • RFC 2453 - RIP Version 2
  • RFC 4822 - RIPv2 Cryptographic Authentication
VRRP
  • RFC 3768 - Virtual Router Redundancy Protocol (VRRP)
  • RFC 5798 - Virtual Router Redundancy Protocol (VRRP) Version 3 for IPv4 and IPv6

Konformitätstests

Ergebnisse von Konformitätstests, die mit dem Ixia IxANVL RFC Compliance Tester durchgeführt wurden, sind hier verfügbar.

Abdeckung der IETF-YANG-Implementierung

Finanzierung

Dieses Projekt wird durch NGI Zero Core finanziert, einen Fonds, der von NLnet mit finanzieller Unterstützung des Programms Next Generation Internet der Europäischen Kommission eingerichtet wurde. Weitere Informationen finden Sie auf der NLnet-Projektseite.

NLnet-Stiftungslogo NGI-Zero-Logo

Lizenz

Dieses Projekt ist unter der MIT license lizenziert.

Beitrag

Wir begrüßen jegliche Beiträge, von Fehlerberichten bis hin zu Pull Requests. Bitte schauen Sie sich unsere Projekt-Wunschliste an, um Ideen zu erhalten, wo Sie beitragen können.

Sofern nicht ausdrücklich anders angegeben, wird jeder von Ihnen absichtlich zur Aufnahme in Holo eingereichte Beitrag ohne zusätzliche Bedingungen unter der MIT-Lizenz lizenziert.

Tool herunterladen
ModulKonfigurationZustandRPCsBenachrichtigungenGesamt
ietf-bfd-ip-mh@2022-09-22100.00%100.00%-100.00%100.00%
ietf-bfd-ip-sh@2022-09-22100.00%100.00%-100.00%100.00%
ietf-bfd@2022-09-22100.00%100.00%--100.00%
ietf-bgp-policy@2023-07-05100.00%---100.00%
ietf-bgp@2023-07-0532.38%85.95%--60.40%
ietf-bier@2023-09-12100.00%--0.00%72.50%
ietf-if-extensions@2023-01-26100.00%0.00%--50.00%
ietf-if-vlan-encapsulation@2023-01-2642.86%---42.86%
ietf-igmp-mld@2019-11-0184.62%100.00%--95.83%
ietf-interfaces@2018-02-20100.00%0.00%--22.22%
ietf-ip@2018-02-2252.17%0.00%--40.00%
ietf-ipv4-unicast-routing@2018-03-13100.00%100.00%--100.00%
ietf-ipv6-unicast-routing@2018-03-1340.62%100.00%--45.71%
ietf-isis-flex-algo@2026-06-260.00%100.00%-0.00%74.00%
ietf-isis-link-attr@2026-06-2681.82%78.43%--78.76%
ietf-isis-msd@2024-09-02-100.00%--100.00%
ietf-isis-sr-mpls@2025-12-0915.38%57.27%--52.85%
ietf-isis@2022-10-1993.62%80.09%100.00%100.00%86.77%
ietf-key-chain@2017-06-15100.00%100.00%--100.00%
ietf-mpls-ldp@2022-03-1486.96%92.31%100.00%100.00%92.38%
ietf-mpls@2020-12-180.00%57.14%--35.29%
ietf-ospf-anycast-flag@2026-05-19100.00%---100.00%
ietf-ospf-sr-mpls@2025-12-0921.43%51.36%--49.82%
ietf-ospf@2022-10-1995.70%85.04%100.00%58.06%83.89%
ietf-ospfv3-extended-lsa@2024-06-0750.00%85.28%--84.85%
ietf-rip@2020-02-2027.91%93.33%100.00%-55.41%
ietf-routing-policy@2021-10-11100.00%0.00%--98.11%
ietf-routing@2018-03-13100.00%85.71%--92.31%
ietf-segment-routing-mpls@2021-05-2662.50%0.00%-23.53%32.76%
ietf-segment-routing@2021-05-26100.00%---100.00%
ietf-system@2014-08-0626.67%60.00%0.00%-38.24%
ietf-vrrp@2018-03-1353.19%80.00%-66.67%66.35%