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

查看仓库
535461423天前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 实现覆盖率

下载工具