Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

MIT licensed Build Status codecov Discord

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

有关路由协议的描述,请参阅此维基百科页面。

您可以在浏览器中试用 Holo,无需安装任何东西,访问 Holo Lab。

特性

专注于简洁性和正确性

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

自动化就绪

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

对配置所做的更改作为事务处理,保证所有更改要么全部应用,要么全部不应用。此功能极大地促进了网络自动化,因为它消除了管理应用程序中错误恢复的需要。Holo 还支持涉及多个网络设备的网络范围事务。其他网络自动化功能包括确认提交和配置回滚支持。

安全性

由于使用内存安全语言编写,Holo 不受各种内存相关错误和安全漏洞的影响。除了 Rust 提供的安全保证外,Holo 守护程序还在启动时放弃特权。对于某些操作,例如绑定套接字,使用 Linux capabilities 来获取最少所需权限,且持续时间最短。

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

集成协议实现

一些协议,例如 OSPF 和 RIP,具有广泛部署的不同版本,通常一个用于 IPv4,另一个用于 IPv6。Holo 利用 Rust 的泛型来实现版本无关的协议实现,其中大部分代码由不同的协议版本共享。这种方法降低了这些协议的维护成本,并促进了新功能的发布,使所有协议版本受益。

并行性

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

结构化日志

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

可重现的错误

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

安装

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

支持的平台

Holo 运行在 Linux 上。代码库在很大程度上是平台独立的,与操作系统交互的部分,例如网络 I/O、接口管理和路由安装,都隔离在少数几个地方,因此 Holo 可以轻松移植到其他平台。它也可以编译为 WebAssembly,主要用于在浏览器中运行虚拟网络。

入门

试用 Holo 最快的方法是 Holo Lab,它直接在浏览器中运行 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 4456 - BGP 路由反射:全网状内部 BGP (IBGP) 的替代方案
  • 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 - IS-IS 扩展 IPv4 和 IPv6 可达性的前缀属性
  • 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 - BIER 的 OSPFv3 扩展
  • 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 - 适用于 IPv4 和 IPv6 的虚拟路由器冗余协议 (VRRP) 版本 3

一致性测试

使用 Ixia IxANVL RFC 一致性测试器执行的一致性测试结果可在此处获取:here。

IETF YANG 实现覆盖率

下载工具