Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
holo — Suite di protocolli di routing basata su Rust che implementa BGP, OSPF, IS-IS, RIP e VRRP con configurazione modellata con YANG, automazione gNMI/gRPC e fuzzing integrato per reti ad alta scala guidate dall'automazione. | Kitploit
Strumenti/GitHubGitHub/holo-routing/holo
Mappatura della ReteAudit di ConfigurazioneFuzzingSicurezza di ReteAnalisi DNS
GitHubholo-routing/holo

holo

Suite di protocolli di routing basata su Rust che implementa BGP, OSPF, IS-IS, RIP e VRRP con configurazione modellata con YANG, automazione gNMI/gRPC e fuzzing integrato per reti ad alta scala guidate dall'automazione.

Vedi Repository
535461523 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

MIT licensed Build Status codecov Discord

Holo è una suite di protocolli di routing progettata per supportare reti ad alta scala e guidate dall'automazione.

Per una descrizione di cosa sia un protocollo di routing, si prega di fare riferimento a questa pagina Wikipedia.

Caratteristiche

Focus su semplicità e correttezza

L'obiettivo principale di Holo è creare un codice affidabile, facile da mantenere ed estensibile. Con la crescente complessità dei protocolli di routing e delle loro estensioni, è fondamentale disporre di implementazioni di protocolli di routing costruite su una base solida. A tal fine, la codebase di Holo dà priorità a semplicità, modularità e documentazione approfondita. Grazie alla rigidità del compilatore Rust e agli estesi test unitari, ci si aspetta che la maggior parte delle regressioni venga individuata all'inizio del ciclo di sviluppo delle nuove funzionalità. Per maggiori dettagli, si prega di fare riferimento alla pagina Architettura.

Pronto per l'automazione

Holo è stato sviluppato specificamente per reti ad alta scala e guidate dall'automazione che richiedono configurazione e monitoraggio programmabili utilizzando dati strutturati e modellati. Holo implementa nativamente i moduli YANG standard dell'IETF e supporta molteplici interfacce di gestione, inclusi gRPC e gNMI nativi. Inoltre, Holo offre una CLI standalone che genera dinamicamente comandi dai moduli YANG e comunica con il demone Holo tramite gRPC.

Le modifiche apportate alla configurazione vengono elaborate come transazioni, garantendo che tutte le modifiche vengano applicate o nessuna. Questa funzionalità è un significativo facilitatore dell'automazione di rete poiché elimina la necessità di recupero degli errori nelle applicazioni di gestione. Holo supporta anche transazioni a livello di rete che coinvolgono più dispositivi di rete. Ulteriori capacità di automazione di rete includono commit confermati e supporto per il rollback della configurazione.

Sicurezza

Grazie all'essere scritto in un linguaggio memory-safe, Holo è immune a un'ampia varietà di bug relativi alla memoria e vulnerabilità di sicurezza. Oltre alle garanzie di sicurezza fornite da Rust, il demone Holo riduce anche i privilegi all'avvio. Per alcune operazioni, come il binding dei socket, vengono utilizzate le capabilities di Linux per ottenere il permesso minimo richiesto per il minor tempo possibile.

Holo fornisce anche una protezione robusta contro il vettore di attacco più comune negli stack di protocolli di routing: attacchi denial-of-service (DoS) tramite input di pacchetti malevoli. I pacchetti in entrata vengono decodificati in task asincroni isolati e supervisionati, consentendo alle implementazioni dei protocolli di recuperare con garbo da panico, ad esempio ignorando pacchetti malformati o chiudendo solo il flusso TCP interessato, senza compromettere la stabilità dell'intero demone. Inoltre, grazie al design modulare di Holo e al supporto integrato per il fuzzing guidato dalla copertura, si prevede che la maggior parte dei bug di parsing venga rilevata e risolta durante lo sviluppo.

Implementazioni di protocolli integrate

Alcuni protocolli, come OSPF e RIP, hanno versioni diverse ampiamente distribuite, tipicamente una per IPv4 e un'altra per IPv6. Holo sfrutta i generics di Rust per avere implementazioni di protocolli indipendenti dalla versione, dove la maggior parte del codice è condivisa dalle diverse versioni del protocollo. Questo approccio riduce il costo di manutenzione di questi protocolli e facilita il rilascio di nuove funzionalità che avvantaggiano tutte le versioni del protocollo.

Parallelismo

Holo fa ampio uso di operazioni asincrone e si basa sul runtime Tokio per pianificare i task ed eseguirli su un pool di thread. Per ottenere prestazioni migliori, sia le richieste I/O che gli algoritmi CPU-intensive vengono delegati a task separati, massimizzando l'utilizzo di tutti i core CPU disponibili. Il supporto per codice runtime-agnostic è previsto per il futuro, una volta che le astrazioni necessarie saranno standardizzate dal team del linguaggio Rust.

Logging strutturato

Holo genera messaggi di log che contengono dati strutturati, che possono essere presentati in vari formati come JSON, testo, ecc. Poiché il logging viene effettuato tramite la facciata tracing, è possibile utilizzare diversi subscriber tracing per soddisfare diversi requisiti utente. Ad esempio, il logging può essere diretto a un file, journald, un collector OpenTelemetry centralizzato, o qualsiasi combinazione di queste opzioni con livelli di logging potenzialmente variabili.

Bug riproducibili

Holo fornisce funzionalità di registrazione e riproduzione, consentendo una facile riproduzione di qualsiasi bug segnalato dall'utente. Il demone Holo può essere configurato per registrare l'intero ciclo di vita di un'istanza di protocollo su un file. Questo file può poi essere riprodotto su un'altra macchina, riproducendo la stessa sequenza di eventi. Mentre una sessione di registrazione può durare ore o giorni, il processo di riproduzione dovrebbe richiedere solo pochi secondi. Ciò è possibile grazie all'architettura modulare di Holo, dove tutte le operazioni relative al tempo e I/O vengono eseguite in task separati e astratte come messaggi di evento.

Installazione

Per istruzioni dettagliate sull'installazione, si prega di fare riferimento al file INSTALL.md.

Piattaforme supportate

Al momento, Holo è compatibile solo con sistemi operativi Linux. Il supporto per WebAssembly è previsto per il futuro.

Per iniziare

Il modo più semplice per iniziare a usare Holo è utilizzare container Docker pre-costruiti in combinazione con il software containerlab. Puoi trovare una varietà di topologie di rete pre-configurate a questo link. Queste topologie possono essere distribuite con un singolo comando, permettendoti di testare Holo in varie configurazioni di rete, inclusi test di interoperabilità con altre implementazioni. Inoltre, Holo può essere utilizzato ovunque sia richiesto uno stack di routing, ad esempio in router software, a condizione che l'insieme di funzionalità sia allineato alle tue esigenze specifiche.

Conformità

Holo supporta i seguenti standard Internet:

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
Scarica lo strumento