Ogham/dog项目:命令行DNS客户端工具详解
dog A command-line DNS client. 项目地址: https://gitcode.com/gh_mirrors/do/dog
项目概述
Ogham/dog是一个现代化的命令行DNS客户端工具,它提供了比传统dig/nslookup更友好直观的查询体验。该项目采用Rust语言开发,具有以下核心特性:
- 彩色输出显示,提升可读性
- 支持多种DNS协议:传统UDP/TCP、DNS-over-TLS(DoT)、DNS-over-HTTPS(DoH)
- JSON格式输出支持
- 智能参数解析,简化查询命令
- 丰富的DNS记录类型解析能力
安装与基本使用
安装完成后,最简单的查询方式是直接输入域名:
dog example.com
这会查询默认的A记录。如需查询其他记录类型,可以:
dog example.com MX # 查询邮件交换记录
高级查询功能
指定DNS服务器
通过@
符号可以指定特定的DNS服务器:
dog example.com @8.8.8.8 # 使用Google DNS
协议选择
支持多种传输协议:
dog example.com -T # 强制使用TCP
dog example.com -S # 使用DNS-over-TLS
dog example.com -H # 使用DNS-over-HTTPS
批量查询
可以一次查询多个域名和记录类型:
dog example.com google.com MX A # 将执行4次查询
输出控制
简洁模式
只显示第一个结果:
dog example.com -1
JSON输出
dog example.com -J
时间统计
显示查询耗时:
dog example.com --time
支持的DNS记录类型
dog支持解析多种常见DNS记录类型,包括但不限于:
- A/AAAA:IPv4/IPv6地址
- CNAME:别名记录
- MX:邮件服务器记录
- NS:域名服务器记录
- TXT:文本信息
- SOA:区域授权信息
- SRV:服务定位记录
对于不支持的记录类型,dog会以原始数据形式显示。
高级特性
EDNS设置
dog example.com --edns=show # 显示EDNS信息
协议级调整
通过-Z
参数可以进行底层协议调整:
dog example.com -Zaa -Zcd # 设置AA和CD标志位
调试模式
设置环境变量开启调试:
DOG_DEBUG=trace dog example.com
使用场景建议
- 快速诊断:彩色输出和智能解析适合快速检查DNS配置
- 安全查询:通过DoT/DoH进行加密查询
- 脚本集成:JSON输出便于与其他工具集成
- 批量测试:同时查询多个记录类型和域名
与传统工具对比
相比dig/nslookup,dog具有以下优势:
- 输出更加直观易读
- 命令语法更简洁
- 原生支持现代DNS协议
- 内置彩色输出和JSON支持
总结
Ogham/dog作为新一代DNS查询工具,在保持功能强大的同时提供了更好的用户体验。无论是日常网络故障排查还是开发测试,都是一个值得尝试的工具。其现代化的设计理念和对新兴协议的支持,使其成为传统DNS工具的优质替代选择。
dog A command-line DNS client. 项目地址: https://gitcode.com/gh_mirrors/do/dog
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考