发现 
命令行工具开发者工具
q:命令行 DNS 查询客户端
一个支持 UDP、TCP、DoT、DoH、DoQ、ODoH 等协议的轻量命令行 DNS 客户端。
- 浏览
- 1
- 访问
- 0
- 下载
- 0
- 版本
- v0.19.12
- 平台
- Windows、macOS、Linux
该作品还没有经过官方审核。访问演示、下载或复制命令前,请自行确认来源可信。
详细介绍
项目简介
q 是一个用 Go 编写的轻量级命令行 DNS 客户端,支持 UDP、TCP、DoT、DoH、DoQ、ODoH 和 DNSCrypt v2 等多种查询协议。它适合需要在终端中调试 DNS、验证解析结果或测试加密 DNS 服务的开发者和运维人员。
主要功能
- 传输协议:UDP/TCP DNS、DNS over TLS、DNS over HTTPS、DNS over QUIC、Oblivious DNS over HTTPS、DNSCrypt v2
- 服务器指定方式:
@9.9.9.9、@https://dns.quad9.net、DNS Stamp(@sdns://...) - 输出格式:pretty、column、json、yaml、raw(dig 风格)
- 支持 DNSSEC DO 位、EDNS0 NSID、Client Subnet、Cookie、padding 与 Extended DNS Errors(RFC 8914)
- 支持反向查询、递归 AXFR、IP Whois、为 A/AAAA 记录解析 PTR,以及查询 ASN/ASName
- 可控制查询标志:AA、AD、CD、RD、RA、Z、TC
- 所有长选项都可用 dig 标准的
+[no]flag写法切换 - TLS 参数可调:版本上下限、ALPN、密码套件、曲线偏好、客户端证书;设置
SSLKEYLOGFILE后可输出密钥日志用于解密 TLS
安装与使用
可通过作者的 apt/yum/brew 软件源、Homebrew core、GitHub Releases、AUR、Go 和 Docker 安装,例如:
go install github.com/natesales/q@latest
docker run --rm -it ghcr.io/natesales/q
从源码安装:
git clone https://github.com/natesales/q && cd q
go install
常用查询示例:
q example.com # 查询默认记录
q example.com MX SOA # 指定记录类型列表
q example.com MX @9.9.9.9 # 指定服务器
q example.com MX @https://dns.quad9.net # 使用 HTTPS(也支持 TCP、TLS、QUIC、ODoH)
q @sdns://AgcAAAAAAAAAAAAHOS45LjkuOQA # 使用 DNS Stamp
q example.com MX --format=raw # raw(dig)格式
q example.com MX --format=json # JSON 或 YAML 格式
服务器选择顺序为:@server 参数 → Q_DEFAULT_SERVER 环境变量 → /etc/resolv.conf。
注意事项
- 完整参数列表可在终端执行
q --help查看。 - 项目使用 GPL-3.0 许可证。
本作品整理自 GitHub 开源项目 natesales/q,原作者 @natesales,许可证 GPL-3.0。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v0.19.12当前版本
v0.19.12:新增 HTTPS 作为默认记录类型,支持从 ~/.qrc 配置文件加载选项,新增 mDNS 支持,并修复 QUIC 空指针 panic、短选项与等号组合解析、IDNA 下划线等问题。
评论