ZDNS v2.0.0 重大版本更新:核心重构与功能增强
ZDNS 是一款高性能的 DNS 解析工具,由 ZMap 团队开发,主要用于大规模 DNS 查询和分析。在 v2.0.0 版本中,项目进行了重大架构调整和功能增强,使其在灵活性、功能完备性和安全性方面都有了显著提升。
核心架构重构
本次更新的最大变化是将 ZDNS 拆分为核心库和 CLI 包装器两部分。这种架构调整带来了几个重要优势:
-
库化设计:现在其他 Go 工具可以直接调用 ZDNS 的核心功能,无需通过 CLI 接口和解析输出结果。这为开发者提供了更大的灵活性,可以轻松将 DNS 解析功能集成到自己的应用中。
-
模块化:核心功能的解耦使得项目结构更加清晰,便于维护和扩展。开发者可以根据需要选择使用完整的 CLI 工具或只调用特定的解析功能。
-
性能优化:通过减少 CLI 相关的开销,直接调用库可以获得更好的性能表现。
新增协议支持
v2.0.0 版本增加了对现代 DNS 协议的支持:
-
DNS over HTTPS (DoH):通过 HTTPS 协议进行 DNS 查询,提供更好的隐私保护和防篡改能力。
-
DNS over TLS (DoT):使用 TLS 加密的 DNS 查询,防止中间人攻击和监听。
这些新增协议使得 ZDNS 能够适应现代互联网环境对隐私和安全的需求,特别是在受限网络环境下仍能进行可靠的 DNS 解析。
查询功能增强
新版本对查询功能进行了多项改进:
-
完整名称服务器支持:通过
--all-nameservers选项,现在可以查询每个迭代步骤中的所有名称服务器,提供更全面的解析结果。 -
自动 CNAME/DNAME 跟踪:默认情况下,所有查询都会自动跟踪 CNAME 和 DNAME 记录,简化了配置过程,确保获取最终解析结果。
-
DNSSEC 验证:新增
--validate-dnssec选项支持完整的 DNSSEC 验证流程,可以确认 DNS 记录的完整性和真实性。
其他改进
除了上述主要变化外,v2.0.0 版本还包括:
-
性能优化:通过内部重构和算法改进,提高了查询处理效率。
-
测试增强:增加了更全面的测试覆盖,确保功能的可靠性。
-
错误修复:解决了多个已知问题,提升了工具的稳定性。
-
文档完善:更新了使用说明和开发文档,帮助用户更好地理解和使用新功能。
总结
ZDNS v2.0.0 是一个重要的里程碑版本,通过架构重构使其更加灵活和强大。新增的现代 DNS 协议支持和查询功能增强使其能够满足更广泛的使用场景,特别是在安全性和隐私保护方面有了显著提升。这些改进使得 ZDNS 在大规模 DNS 解析和分析领域继续保持领先地位,为研究人员和开发者提供了更强大的工具。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0223
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0142
uni-appA cross-platform framework using Vue.jsJavaScript09
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook04