Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

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自动化以及内置模糊测试,适用于高规模、自动化驱动的网络。

查看仓库
5354610天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

MIT licensed Build Status codecov Discord

Holo 是一套路由协议套件,旨在支持高规模和自动化驱动的网络。

如需了解路由协议的定义,请参阅此 Wikipedia 页面。

特性

专注于简洁性和正确性

Holo 的主要目标是创建一个可靠、易于维护且可扩展的代码库。随着路由协议及其扩展的复杂度不断增加,基于稳健的基础实现路由协议至关重要。为此,Holo 的代码库优先考虑简洁性、模块化和完善的文档。得益于 Rust 编译器的严格性和广泛的单元测试,大多数回归问题有望在新功能的开发周期早期被捕获。更多详情请参阅 架构 页面。

面向自动化

Holo 专为需要基于结构和模型化数据进行可编程配置和监控的高规模、自动化驱动网络而设计。Holo 原生实现了 IETF 的标准 YANG 模块,并支持多种管理接口,包括原生 gRPC 和 gNMI。此外,Holo 配备了一个独立的 CLI,该 CLI 根据 YANG 模块动态渲染命令,并通过 gRPC 与 Holo 守护进程通信。

所有配置变更均作为事务处理,确保要么全部应用,要么全部撤销。这一特性极大地简化了网络自动化,因为它消除了管理应用程序中进行错误恢复的需求。Holo 还支持涉及多个网络设备的全网事务。其他网络自动化功能包括确认提交和配置回滚支持。

安全性

由于采用内存安全语言编写,Holo 对各种内存相关漏洞和安全漏洞具有天然免疫力。除了 Rust 提供的安全保障外,Holo 守护进程在启动时还会放弃权限。对于某些操作(如绑定套接字),会使用 Linux 能力 在最短时间内获取所需的最小权限。

Holo 还针对路由协议栈中最常见的攻击向量——通过恶意数据包输入发起的拒绝服务(DoS)攻击——提供了稳健的保护。传入的数据包在隔离的、受监督的异步任务中进行解码,使得协议实现能够在恐慌时优雅地恢复,例如忽略畸形数据包或仅关闭受影响的 TCP 流,而不会影响整个守护进程的稳定性。此外,得益于 Holo 的模块化设计和内置的覆盖引导模糊测试支持,大多数解析错误有望在开发过程中被检测和处理。

集成的协议实现

某些协议(如 OSPF 和 RIP)存在广泛部署的不同版本,通常一个用于 IPv4,另一个用于 IPv6。Holo 利用 Rust 的泛型实现协议版本无关的实现,其中大部分代码被不同协议版本共享。这种方法降低了这些协议的维护成本,并便于提供惠及所有协议版本的新特性。

并行性

Holo 广泛使用异步操作,并依赖 Tokio 运行时来调度任务并在线程池上运行。为获得更好的性能,I/O 请求和 CPU 密集型算法都被卸载到单独的任务中,从而最大化所有可用 CPU 核心的利用率。计划在未来支持运行时无关的代码,一旦 Rust 语言团队标准化了必要的抽象。

结构化日志

Holo 生成包含结构化数据的日志消息,这些消息可以以多种格式呈现,如 JSON、文本等。由于日志记录通过 tracing 门面进行,因此可以使用不同的 tracing 订阅者来满足不同用户的需求。例如,日志可以定向到文件、journald、集中式 OpenTelemetry 收集器,或这些选项的任意组合,并可能具有不同的日志级别。

可复现的 Bug

Holo 提供录制与回放功能,能够轻松复现用户报告的任何 Bug。可以将 Holo 守护进程设置为将协议实例的完整生命周期记录到文件中。该文件随后可在另一台机器上回放,重现相同的事件序列。录制会话可能持续数小时或数天,但回放过程只需几秒钟。这得益于 Holo 的模块化架构,其中所有与时间相关和 I/O 操作都在单独的任务中执行,并抽象为事件消息。

安装

有关安装的详细说明,请参阅 INSTALL.md 文件。

支持平台

目前,Holo 仅兼容 Linux 操作系统。未来计划支持 WebAssembly。

快速开始

开始使用 Holo 的最简单方法是使用预构建的 Docker 容器并结合 containerlab 软件。您可以在 此链接 找到各种预配置的网络拓扑。这些拓扑可通过一条命令部署,使您能够在各种网络设置中测试 Holo,包括与其他实现进行互操作性测试。

此外,只要功能集符合您的特定需求,Holo 也可用于任何需要路由协议栈的场景,例如软件路由器。

合规性

Holo 支持以下互联网标准:

BFD
  • RFC 5880 - 双向转发检测(BFD)
  • RFC 5881 - IPv4 和 IPv6 双向转发检测(BFD)(单跳)
  • RFC 5882 - 双向转发检测(BFD)的通用应用
  • RFC 5883 - 多跳路径的双向转发检测(BFD)
BGP
  • RFC 1997 - BGP 团体属性
  • RFC 2385 - 通过 TCP MD5 签名选项保护 BGP 会话
  • RFC 2545 - 使用 BGP-4 多协议扩展进行 IPv6 域间路由
  • RFC 2918 - BGP-4 路由刷新能力
  • RFC 4271 - 边界网关协议 4(BGP-4)
  • RFC 4360 - BGP 扩展团体属性
  • RFC 4486 - BGP 停止通知消息的子码
  • RFC 4760 - BGP-4 的多协议扩展
  • RFC 5082 - 通用 TTL 安全机制(GTSM)
  • RFC 5492 - BGP-4 能力通告
  • RFC 5668 - 4 字节 AS 特定 BGP 扩展团体
  • RFC 5701 - IPv6 地址特定 BGP 扩展团体属性
  • RFC 6286 - BGP-4 的自洽系统范围唯一 BGP 标识符
  • RFC 6608 - BGP 有限状态机错误的子码
  • RFC 6793 - BGP 对四字节自治系统(AS)编号空间的支持
  • RFC 7606 - BGP UPDATE 消息的修订错误处理
  • RFC 7607 - AS 0 处理的编码化
  • RFC 8092 - BGP 大型团体属性
  • RFC 8212 - 无策略时的默认外部 BGP(EBGP)路由传播行为
  • RFC 8642 - 知名 BGP 团体的策略行为
  • RFC 9774 - BGP 中 AS_SET 和 AS_CONFED_SET 的弃用
IS-IS
  • ISO/IEC 10589 - 信息技术 — 系统间电信和信息交换 — 用于与提供无连接模式网络服务(ISO 8473)结合使用的系统间域内路由信息交换协议
  • RFC 1195 - 在 TCP/IP 和双协议栈环境中使用 OSI IS-IS 进行路由
  • RFC 3719 - 使用中间系统到中间系统(IS-IS)的互操作网络建议
  • RFC 3787 - 使用中间系统到中间系统(IS-IS)的互操作 IP 网络建议
  • RFC 5120 - M-ISIS:中间系统到中间系统(IS-IS)中的多拓扑(MT)路由
  • RFC 5301 - IS-IS 动态主机名交换机制
  • RFC 5303 - IS-IS 点到点邻接的三次握手
  • RFC 5304 - IS-IS 加密认证
  • RFC 5305 - IS-IS 流量工程扩展
  • RFC 5308 - 使用 IS-IS 路由 IPv6
  • RFC 5310 - IS-IS 通用加密认证
  • RFC 6232 - IS-IS 的清除发起者标识 TLV
  • RFC 6233 - IS-IS 清除的注册表扩展
  • RFC 7308 - MPLS 流量工程(MPLS-TE)中的扩展管理组
  • RFC 7602 - IS-IS 扩展序列号 TLV
  • RFC 7794 - 用于扩展 IPv4 和 IPv6 可达性的 IS-IS 前缀属性
  • RFC 7917 - IS-IS 中通告节点管理标签
  • RFC 7981 - 用于通告路由器信息的 IS-IS 扩展
  • RFC 7987 - IS-IS 最小剩余生存时间
  • RFC 8401 - 通过 IS-IS 支持位索引显式复制(BIER)
  • RFC 8405 - 链路状态 IGP 的最短路径优先(SPF)退避延迟算法
  • RFC 8491 - 使用 IS-IS 信令最大 SID 深度(MSD)
  • RFC 8570 - IS-IS 流量工程(TE)度量扩展
  • RFC 8667 - IS-IS 段路由扩展
  • RFC 8918 - IS-IS 中无效 TLV 的处理
  • RFC 9479 - IS-IS 应用特定链路属性
  • draft-ietf-bier-lsr-non-mpls-extensions-03 - BIER 非 MPLS 封装的 LSR 扩展
  • draft-ietf-lsr-distoptflood-12 - IS-IS 分布式泛洪减少
  • draft-westphal-lsr-isis-database-checksumming-00 - IS-IS 数据库指纹识别
MPLS LDP
  • RFC 5036 - LDP 规范
  • RFC 5561 - LDP 能力
  • RFC 5918 - 标签分发协议(LDP)“类型通配符”转发等价类(FEC)
  • RFC 5919 - 信令 LDP 标签通告完成
  • RFC 6720 - 标签分发协议(LDP)的通用 TTL 安全机制(GTSM)
组播
  • RFC 2236 - 互联网组管理协议,版本 2
OSPF
  • RFC 2328 - OSPF 版本 2
  • RFC 3623 - OSPF 优雅重启
  • RFC 5187 - OSPFv3 优雅重启
  • RFC 5243 - OSPF 数据库交换摘要列表优化
  • RFC 5250 - OSPF 不透明 LSA 选项
  • RFC 5340 - IPv6 的 OSPF
  • RFC 5613 - OSPF 链路本地信令
  • RFC 5642 - OSPF 动态主机名交换机制
  • RFC 5709 - OSPFv2 HMAC-SHA 加密认证
  • RFC 5838 - OSPFv3 中的地址族支持
  • RFC 6987 - OSPF 末梢路由器通告
  • RFC 7166 - 支持 OSPFv3 认证尾部
  • RFC 7684 - OSPFv2 前缀/链路属性通告
  • RFC 7770 - 用于通告可选路由器能力的 OSPF 扩展
  • RFC 7777 - OSPF 中通告节点管理标签
  • RFC 8362 - OSPFv3 链路状态通告(LSA)可扩展性
  • RFC 8405 - 链路状态 IGP 的最短路径优先(SPF)退避延迟算法
  • RFC 8476 - 使用 OSPF 信令最大 SID 深度(MSD)
  • RFC 8665 - OSPF 段路由扩展
  • RFC 8666 - OSPFv3 段路由扩展
  • RFC 9983 - OSPFv2 任播属性通告
  • draft-ietf-bier-ospfv3-extensions-07 - OSPFv3 BIER 扩展
  • draft-ietf-bier-lsr-non-mpls-extensions-03 - BIER 非 MPLS 封装的 LSR 扩展
RIP
  • RFC 2080 - IPv6 的 RIPng
  • RFC 2453 - RIP 版本 2
  • RFC 4822 - RIPv2 加密认证
VRRP
  • RFC 3768 - 虚拟路由器冗余协议(VRRP)
  • RFC 5798 - 虚拟路由器冗余协议(VRRP)版本 3(用于 IPv4 和 IPv6)

一致性测试

使用 Ixia IxANVL RFC 一致性测试仪进行的一致性测试结果可在 此处 获取。

IETF YANG 实现覆盖率

资金

本项目由 NGI Zero Core 资助,该基金由 NLnet 设立,并得到欧盟委员会 Next Generation Internet 计划的财政支持。了解更多信息请访问 NLnet 项目页面。

NLnet 基金会 logo NGI Zero Logo

许可证

本项目采用 MIT 许可证。

贡献

我们欢迎任何形式的贡献,从错误报告到拉取请求。请访问我们的 项目愿望清单 了解贡献方向。

除非您明确声明,否则您有意提交以包含在 Holo 中的任何贡献,均应按照 MIT 许可证授权,不附加任何额外条款或条件。

下载工具
模块配置状态RPC通知总计
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%