免费开源!ksubdomain v2.1发布
原创 w8ay 2025-04-12 10:10 广东
极致的爆破性能与智能预测的结合,最快的子域名爆破工具!
免费开源!ksubdomain v2.1发布
极致的爆破性能与智能预测的结合,最快的子域名爆破工具
最近终于更新了ksubdomain ,在新版本中ksubdomain不仅继承了超强爆破速度的基因,更融入了前沿的 域名预测 算法和 泛解析过滤 机制,同时提供了更灵活的 输出格式 支持。
开源世界
在开源世界中,有很多优秀的子域名枚举/爆破工具。
• https://github.com/projectdiscovery/dnsx • projectdiscovery出品的开源dns爆破工具,通过构造系统DNS包进行爆破并结合go的超强并发,但是由于是基于系统发包,占用系统socket资源导致网络无法问题,并且速度也受到很大限制。 • https://github.com/blechschmidt/massdns • massdns使用socket发包,然后用epoll,pcap,busy-wait polling等技术来接收。速度很快,但是丢包严重。 • https://github.com/shmilylty/OneForAll • 功能全面,利用各种手段尽可能收集域名,dns爆破底层调用masscan,python项目,依赖较多,不适合开箱即用 • https://github.com/blacklanternsecurity/bbot • 同样是利用各种手段尽可能收集域名,讲究模块之间递归查询。dns爆破底层调用masscan,也是python项目,依赖较多,不适合开箱即用
ksubdomain对标的是massdns 专注于将爆破性能做到极致,并在易用性和结果准确性上持续投入。
KSubdomain 是一款基于无状态技术的子域名爆破工具,带来前所未有的扫描速度和极低的内存占用。 KSubdomain 支持 Windows、Linux 和 macOS,是进行大规模DNS资产探测的理想选择。
你可以和OneForAll或者bbot一样,将ksubdomain作为爆破模块,前置subfinder之类的被动引擎,用来大规模验证子域名的存在。
Vs MassDNS
前面所说,ksubdomain对标的是massdns,但是在部分机制上截然不同。
1. massdns使用socket发包,然后用epoll,pcap,busy-wait polling等技术来接收。技术复杂并且丢包严重。ksubdomain基于网卡发包和接收,原生从Ethernet->IPv4->UDP->DNS构造数据包,发送速度更快,且自建轻量级状态表且有重发机制,漏包很少,最终速度极快! 2. ksubdomain 极致的性能优化: • 状态表优化: • 分片锁 (Sharded Lock): 大幅减少锁竞争,提高并发写入效率。 • 高效哈希: 优化键值存储,提升查找速度。 • 发包机制优化: • 对象池: 复用 DNS 包结构体,减少内存分配和 GC 开销。 • 模板缓存: 为相同 DNS 服务器复用底层数据,减少重复构建。 • 并行发送: 多协程并行发包,榨干多核 CPU。 • 批量处理: 批量发送请求,减少系统调用。 • 接收机制优化: • 对象池: 复用解析器和缓冲区,降低内存消耗。 • 并行处理管道: 接收、解析、处理三阶段并行,效率最大化。 • 缓冲区优化: 增加 Channel 缓冲区,避免阻塞。 • 高效过滤: 优化 BPF 规则,快速丢弃无效包。 • 内存管理优化: • 全局内存池 (sync.Pool): 管理常用数据结构,减少内存碎片。 • 结构复用: 复用查询结构和缓冲区。 • 架构与并发优化: • 动态并发: 自动调整协程数。 • 高效随机数: 性能更优。 • 自适应速率: 动态调整发包速率。 • 批量加载: 降低单个域名处理开销。
这些精心设计的优化,共同铸就了 ksubdomain 无与伦比的爆破速度和资源利用率。
高级域名预测算法
在现代化的 IT 架构中,域名的使用往往遵循着一定的规范和模式。什么是“现代化”公司?简单来说,就是那些广泛采用微服务、自动化流程、云原生技术的组织。它们的域名命名往往更具逻辑性。
传统的子域名爆破和第三方接口查询,往往难以覆盖到这些基于特定模式生成的“变体”域名。例如,您发现了一个 shoot.A.com,但很可能就错过了 api.shoot.A.com、shoot-api.test.A.com 甚至 backend-api.prod.shoot.A.com 等关键目标。
为了解决这个问题,ksubdomain v2.1 集成了先进的 域名预测算法(灵感来源于 gotator 和 domainNamePredictor 等优秀项目)。
例如在通过暴力扫描发现test.example.com域名后,ksubdomain会按照现代域名命名逻辑,生成大量新的字典,如

并对其进行爆破。在这样层层的域名预测下,发现的资产越来越多。
泛解析域名精准识别
泛解析域名是子域名爆破过程中的一大干扰因素,它们会将大量不存在的子域名解析到同一个 IP 地址,污染爆破结果。
ksubdomain v2.1 内置了 智能泛解析域名过滤算法。在爆破任务完成后,它会自动对结果进行分析和过滤,剔除泛解析产生的无效记录,确保您得到的列表更加干净、准确,节省了大量手动筛选的时间。
ksubdomain内置高级和标准两种模式的过滤算法。
• 标准模式下:通过分析整体结果,对解析记录中相同的ip进行动态/固定阈值判断,超过则丢弃该结果 • 高级模式下:使用多种启发式方法和特征检测来识别泛解析
新增 JSON 与 CSV 格式
为了方便用户将 ksubdomain 的结果集成到自动化流程或与其他工具联动,v2.1 版本新增了 JSON 和 CSV 两种输出格式。无论您是想进行数据分析、生成报告,还是将结果导入其他扫描器,都能轻松集成。
Ksubdomain vs. 同类工具
KSubdomain 在速度和效率上远超同类工具。以下是在 4 核 CPU、5M 带宽网络环境下,使用 10 万字典进行的对比测试:
| KSubdomain | time ./ksubdomain v -b 5m -f d2.txt -o k.txt --retry 3 --np | ~30 秒 | --np | |||
time ./massdns -r dns.txt -t A -w m.txt d2.txt --root -o L | ||||||
time ./dnsx -a -o d.txt -r dns.txt -l d2.txt -retry 3 -t 5000 | -t 5000 |
结论: KSubdomain 的速度是 massdns 的 7 倍,是 dnsx 的 10 倍 以上!
✨ 特性与技巧
• 带宽自动适配: 只需使用 -b参数指定你的公网下行带宽 (如-b 10m), KSubdomain 会自动优化发包速率。• 测试最大速率: 运行 ./ksubdomain test测试当前环境的最大理论发包速率。• 自动网卡检测: KSubdomain 会自动检测可用网卡。可通过环境变量 KSubdomainEth指定网卡,或--eth制定网卡名称。• 进度显示: 实时进度条显示 成功数 / 发送数 / 队列长度 / 接收数 / 失败数 / 已耗时。 • 参数调优: 根据网络质量和目标域名数量,调整 --retry和--timeout参数以获得最佳效果。当--retry为 -1 时,将无限重试直至所有请求成功或超时。• 泛解析过滤: 支持自动检测并过滤泛解析域名 (枚举模式下使用 --skip-wild)。• 多种输出格式: 支持 txt(实时输出),json(完成后输出),csv(完成后输出)。通过-o指定文件名后缀即可 (如result.json)。• 环境变量配置: • KSubdomainConfig: 指定配置文件的路径。• KSubdomainEth: 指定使用的网卡名称 (例如eth0)。
即刻体验
公众号回复ksubdomain,将获得ksubdomain开源代码和成品二进制。