IPv6 Toolkit 完整指南:17 个命令工具搞定 IPv6 安全评估、地址扫描与故障排查
IPv6 Toolkit 完整指南:17 个命令工具搞定 IPv6 安全评估、地址扫描与故障排查
【免费下载链接】ipv6toolkitSI6 Networks' IPv6 Toolkit项目地址: https://gitcode.com/gh_mirrors/ip/ipv6toolkit
IPv6 Toolkit 是由 SI6 Networks 维护的开源IPv6 工具包(C 语言实现,GPLv3 协议),它把 17 个命令行工具打包在一起,覆盖 IPv6 地址分析、主机发现、协议行为评估和故障排查,帮助工程师快速完成从"扫地址"到"定位黑洞"的完整工作流。
🧭 它是什么、能干什么
一句话定位:面向 IPv6 网络与实现的安全评估和故障排查工具包。
它不是某个单一功能的脚本,而是一套"瑞士军刀":每个工具专注一类 IPv6 机制,通过共享的底层库libipv6(源码在 tools/libipv6.c 和 tools/libipv6.h)统一处理组包、收发逻辑。
🎯 为什么需要它
用通用工具做 IPv6 工作,会撞上三堵墙:
- 地址空间太大,暴力扫描不可行。一个 /64 网段有 2⁶⁴ 个地址,传统"挨个 ping"的思路直接失效,必须借助地址生成规律(如 IID 类型、厂商 OUI、虚拟机模板)缩小搜索空间。
- IPv6 特有机制被主流工具忽略。扩展头、邻居发现、路由器通告、巨型报(Jumbogram)、分片这些机制,nmap、traceroute、tcpdump 都只能粗浅处理,无法按协议字段级别构造和验证。
- 排障时"包去哪了"说不清。扩展头报文在拓扑中某处被静默丢弃(业内称"黑洞")时,普通路径探测工具找不到丢弃点,只能逐台设备猜。
IPv6 Toolkit 正是针对这三个痛点设计的。
📦 核心能力:17 个工具各管一摊
🔍地址分析
- addr6:分析单个地址或地址列表,识别地址类型(单播/组播/未指定)、作用域和接口标识符(IID)类型,支持按前缀、类型、作用域过滤,可输出脚本友好的解码结果。
📡扫描与路径
- scan6:IPv6 主机扫描器,内置多种探测技巧——利用本地前缀组合接口 ID、触发 Parameter Problem 错误报文、基于 OUI 和厂商虚拟机(含 vSphere/ESX)模式缩小搜索空间,还支持 TCP/UDP 端口扫描。
- path6:支持扩展头和 IPv6 分片的完整 traceroute,探测包可自由组合扩展头类型与大小。
- blackhole6:沿路径逐跳探测,定位网络中丢弃特定扩展头报文的具体位置。
🛡️邻居发现评估
- ns6:针对邻居请求(Neighbor Solicitation)的攻击向量,如邻居缓存投毒、缓存耗尽。
- na6:针对邻居通告(Neighbor Advertisement)的攻击向量。
- ni6:针对 ICMPv6 节点信息(Node Information)消息的探测与侦察。
📢路由消息评估
- ra6:针对路由器通告(Router Advertisement)的洪水、中间人、拒绝服务类攻击向量。
- rs6:针对路由器请求(Router Solicitation)的评估。
- rd6:构造任意 ICMPv6 重定向消息,并可对收到的流量做响应式重定向。
🧩头部与分片
- frag6:评估 IPv6 分片机制,包括片标识生成策略、原子分片支持,支持分片洪泛类测试。
- flow6:评估目标实现的 Flow Label(流标签)生成策略。
- jumbo6:评估 IPv6 巨型报(Jumbogram)处理能力。
- icmp6:构造任意类型/代码组合的 ICMPv6 报文,支持按收到的流量生成对应错误消息。
🔧流量构造
- tcp6:发送任意 TCP/IPv6 报文,支持多种连接建立/终止模式、窗口操纵、应用层数据载荷。
- udp6:发送任意 UDP/IPv6 数据报。
📜自动化
- script6:把高频复杂任务封装成脚本,并提供对其他工具的快捷入口(如批量查 AAAA、NS、MX 记录)。
🚀 上手三步:构建、安装、验证
工具是 C 语言编写的,唯一的依赖是抓包库libpcap(Linux 上装libpcap-dev,macOS 上 Homebrew 装libpcap)。
获取源码:
git clone https://gitcode.com/gh_mirrors/ip/ipv6toolkit在项目目录下执行
make all构建全部工具。执行
make install一键安装工具、配置文件、数据库文件和手册页。
项目方已在 Debian、Ubuntu 24.04、FreeBSD、NetBSD、OpenBSD、macOS 14、OpenSolaris 上用 gcc 和 clang 验证过构建与运行。Debian、FreeBSD、Gentoo、OpenBSD、NetBSD pkgsrc 等发行版均有社区包维护者,部分系统也可以直接装发行版包。
🧑💻 适用场景与目标人群
- 安全测试人员:在授权范围内评估 IPv6 特有攻击面——邻居发现投毒、RA 洪水、分片洪泛、Flow Label 行为等,这些是 IPv4 时代工具覆盖不到的部分。
- 网络运维工程师:IPv6 部署排障,用 blackhole6 定位丢包跳点、用 path6 追踪带扩展头的真实路径、用 scan6 清点网段内活跃主机。
- 协议实现开发者:验证自研设备或协议栈在分片、巨型报、重定向等边界场景下的行为是否符合规范。
- 研究与教学:工具输出脚本友好(如 addr6 的解码模式),便于写自动化测试和教学演示。
⚖️ 与同类工具的差异
1. 协议字段级深度,而非"端口+连通性"nmap 关注端口开放状态,traceroute 关注跳数,而 IPv6 Toolkit 深入到 Flow Label、Fragment ID、Jumbogram 头、扩展头序列这些字段层面。例如 path6 可以逐跳控制扩展头类型与大小,这是现有 traceroute 实现不具备的(见 manuals/path6.1)。
2. 把 2⁶⁴ 的扫描问题变成可解问题scan6 不硬扫:它从目标地址的 IID 类型启发式推断、结合 OUI 数据库和虚拟机厂商模板,把搜索空间压缩几个数量级(见 manuals/scan6.1),这是针对 IPv6 特性专门设计的方法。
3. 自带数据库,开箱即用项目 data/ 目录内置了 OUI 厂商表、TLD 数据库、RIR 分配表、知名端口与顶级端口列表等数据文件,工具构建后即可直接引用,无需自行维护。
📚 文档与资源
每个工具都配了完整手册页,位于 manuals/ 目录:
- 工具包总览:manuals/ipv6toolkit.7
- 配置文件说明:manuals/ipv6toolkit.conf.5
- 各工具手册页(addr6、scan6、path6、tcp6、frag6 等 17 篇)与工具一一对应
其他值得翻的文件:
- 工具源码:tools/
- 内置数据库:data/
- 单元测试:tests/tests_libipv6.c
- 版本变更记录:CHANGES.TXT
- 贡献者与致谢:CREDITS.TXT
- 许可证(GPLv3):LICENSE.TXT
相关链接
- 源码仓库(clone 用):
https://gitcode.com/gh_mirrors/ip/ipv6toolkit - 工具总览手册页:manuals/ipv6toolkit.7
- 作者与维护方:SI6 Networks(见 manuals/ipv6toolkit.7 的 AUTHOR 章节)
【免费下载链接】ipv6toolkitSI6 Networks' IPv6 Toolkit项目地址: https://gitcode.com/gh_mirrors/ip/ipv6toolkit
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
