Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
holo — Suíte de protocolos de roteamento baseada em Rust implementando BGP, OSPF, IS-IS, RIP e VRRP com configuração modelada por YANG, automação gNMI/gRPC e fuzzing integrado para redes de alta escala e orientadas por automação. | Kitploit
Ferramentas/GitHubGitHub/holo-routing/holo
Mapeamento de RedeAuditoria de ConfiguraçãoFuzzingSegurança de RedeAnálise de DNS
GitHubholo-routing/holo

holo

Suíte de protocolos de roteamento baseada em Rust implementando BGP, OSPF, IS-IS, RIP e VRRP com configuração modelada por YANG, automação gNMI/gRPC e fuzzing integrado para redes de alta escala e orientadas por automação.

Ver Repositório
535464há 2 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

MIT licensed Build Status codecov Discord

Holo é um conjunto de protocolos de roteamento projetado para suportar redes de alta escala e orientadas à automação.

Para uma descrição do que é um protocolo de roteamento, consulte esta página da Wikipédia.

Funcionalidades

Foco em simplicidade e correção

O principal objetivo do Holo é criar uma base de código confiável, fácil de manter e extensível. Com a crescente complexidade dos protocolos de roteamento e suas extensões, é crucial ter implementações de protocolos de roteamento construídas sobre uma base robusta. Para isso, a base de código do Holo prioriza simplicidade, modularidade e documentação completa. Graças ao rigor do compilador Rust e aos extensos testes unitários, espera-se que a maioria das regressões seja detectada no início do ciclo de desenvolvimento de novos recursos. Para mais detalhes, consulte a página Arquitetura.

Pronto para automação

O Holo foi desenvolvido especificamente para redes de alta escala e orientadas à automação que exigem configuração e monitoramento programáveis usando dados estruturados e modelados. O Holo implementa nativamente módulos YANG padrão da IETF e oferece suporte a várias interfaces de gerenciamento, incluindo gRPC e gNMI nativos. Além disso, o Holo possui uma CLI independente que renderiza dinamicamente comandos a partir de módulos YANG e se comunica com o daemon Holo através de gRPC.

As alterações feitas na configuração são processadas como transações, garantindo que todas as alterações sejam aplicadas ou nenhuma delas. Esse recurso é um facilitador significativo da automação de rede, pois elimina a necessidade de recuperação de erros em aplicativos de gerenciamento. O Holo também oferece suporte a transações em toda a rede envolvendo vários dispositivos de rede. Recursos adicionais de automação de rede incluem commits confirmados e suporte a rollback de configuração.

Segurança

Por ser escrito em uma linguagem com segurança de memória, o Holo é imune a uma ampla variedade de bugs relacionados à memória e vulnerabilidades de segurança. Além das garantias de segurança fornecidas pelo Rust, o daemon Holo também reduz privilégios na inicialização. Para certas operações, como vinculação de sockets, as capabilities do Linux são usadas para obter a permissão mínima necessária pelo menor tempo possível.

O Holo também fornece proteção robusta contra o vetor de ataque mais comum em stacks de protocolos de roteamento: ataques de negação de serviço (DoS) via entrada de pacotes maliciosos. Pacotes recebidos são decodificados em tarefas assíncronas isoladas e supervisionadas, permitindo que as implementações de protocolo se recuperem graciosamente de panics, como ignorando pacotes malformados ou fechando apenas o stream TCP afetado, sem comprometer a estabilidade de todo o daemon. Além disso, graças ao design modular do Holo e ao suporte nativo para fuzzing guiado por cobertura, espera-se que a maioria dos bugs de parsing seja detectada e tratada durante o desenvolvimento.

Implementações integradas de protocolo

Alguns protocolos, como OSPF e RIP, possuem diferentes versões amplamente implantadas, tipicamente uma para IPv4 e outra para IPv6. O Holo aproveita os genéricos do Rust para ter implementações de protocolo agnósticas à versão, onde a maior parte do código é compartilhada pelas diferentes versões do protocolo. Essa abordagem reduz o custo de manutenção desses protocolos e facilita o lançamento de novos recursos que beneficiam todas as versões do protocolo.

Paralelismo

O Holo faz uso extensivo de operações assíncronas e depende do runtime Tokio para agendar tarefas e executá-las em um pool de threads. Para obter melhor desempenho, tanto requisições de I/O quanto algoritmos intensivos em CPU são delegados a tarefas separadas, maximizando a utilização de todos os núcleos de CPU disponíveis. O suporte para código independente de runtime está planejado para o futuro, assim que as abstrações necessárias forem padronizadas pela equipe da linguagem Rust.

Logging estruturado

O Holo gera mensagens de log que contêm dados estruturados, que podem ser apresentados em vários formatos, como JSON, texto, etc. Como o logging é realizado através da fachada tracing, diversos subscribers do tracing podem ser utilizados para atender a diferentes requisitos do usuário. Por exemplo, o log pode ser direcionado para um arquivo, journald, um coletor OpenTelemetry centralizado, ou qualquer combinação dessas opções com níveis de log potencialmente variados.

Bugs reproduzíveis

O Holo fornece funcionalidade de gravação e reprodução, permitindo a fácil reprodução de qualquer bug reportado pelo usuário. O daemon Holo pode ser configurado para gravar o ciclo de vida completo de uma instância de protocolo em um arquivo. Esse arquivo pode então ser reproduzido em outra máquina, reproduzindo a mesma sequência de eventos. Enquanto uma sessão de gravação pode durar horas ou dias, o processo de reprodução deve levar apenas alguns segundos. Isso é viável graças à arquitetura modular do Holo, onde todas as operações relacionadas ao tempo e de I/O são executadas em tarefas separadas e abstraídas como mensagens de evento.

Instalação

Para instruções detalhadas sobre instalação, consulte o arquivo INSTALL.md.

Plataformas suportadas

Atualmente, o Holo é compatível apenas com sistemas operacionais Linux. O suporte a WebAssembly está planejado para o futuro.

Primeiros passos

A maneira mais fácil de começar a usar o Holo é usando contêineres Docker pré-construídos em combinação com o software containerlab. Você pode encontrar uma variedade de topologias de rede pré-configuradas neste link. Essas topologias podem ser implantadas com um único comando, permitindo testar o Holo em várias configurações de rede, incluindo testes de interoperabilidade com outras implementações.

Além disso, o Holo pode ser usado onde uma pilha de roteamento for necessária, como em roteadores de software, desde que o conjunto de recursos esteja alinhado com suas necessidades específicas.

Conformidade

O Holo suporta os seguintes padrões da 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
  • 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

Testes de conformidade

Resultados de testes de conformidade realizados com o Ixia IxANVL RFC Compliance Tester estão disponíveis aqui.

Cobertura de implementação YANG da IETF

Financiamento

Este projeto é financiado através do NGI Zero Core, um fundo estabelecido pela NLnet com apoio financeiro do programa Next Generation Internet da Comissão Europeia. Saiba mais na página do projeto NLnet.

NLnet foundation logo NGI Zero Logo

Licença

Este projeto está licenciado sob a licença MIT.

Contribuição

Aceitamos qualquer contribuição, desde relatórios de bugs a Pull Requests. Consulte nossa Project Wishlist para ideias sobre onde contribuir.

A menos que você indique explicitamente o contrário, qualquer contribuição enviada intencionalmente para inclusão no Holo por você será licenciada como MIT, sem quaisquer termos ou condições adicionais.

Baixar ferramenta
ModuleConfigurationStateRPCsNotificationsTotal
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%