Doggo 是一个类似于 dig 的现代命令行 DNS 查找实用程序,具有彩色输出,支持 DNS-over-TLS 和 DNS-over-HTTPS 协议等。 它适用于 macOS、Microsoft Windows 和 Linux。
与 dig 一样,Doggo 执行 DNS 查找并显示从被查询的名称服务器返回的答案,这对于解决 DNS 问题非常有用。
其他功能包括支持将输出显示为 JSON,它支持来自 resolv.conf 或命令行参数的 ndots 和搜索配置,并且它可以使用 IPv4、IPv6 或两者,等等。 它支持将人类可读的主机名、名称服务器、类型或类作为命令行参数传递,或者您可以使用“普通”命令行参数代替。
要使用 Doggo,您只需将要查询的主机名作为命令行参数传递,命令行工具将请求 A
记录:
doggo duckduckgo.com
如果您愿意,可以指定多个主机名进行查询。 只需用空格将它们分开。
您可以通过在命令行上传递特定记录类型来请求它,无论是在域名之前还是之后。 例如请求 A
, NS
和 MX
记录为 duckduckgo.com
领域:
doggo duckduckgo.com A NS MX
您还可以指定用于请求的 DNS 服务器,例如使用 Cloudflare DNS:
doggo duckduckgo.com @1.1.1.1
您还可以使用长格式的命令行参数来指定记录类型(-t
/ --type
, DNS 服务器 (-n
/ --nameserver
), 班级 (-c
/ --class
) 和要查询的主机名 (-q
/ --query
)。 有关详细信息,请参阅 Doggo 帮助。
默认情况下,doggo 通过 UDP 发送查询。 要通过 TCP 发送它们,请使用指定 DNS 解析器 @tcp://
,像这样(例如对于 Cloudflare 的 1.1.1.1 DNS 解析器):
doggo duckduckgo.com @tcp://1.1.1.1
要使用 DoT 发送查询(DNS-over-TLS;默认使用端口 853),请使用以下命令指定 DNS 解析器 @tls://
,例如:
doggo duckduckgo.com @tls://@1.1.1.1
要使用 DoH (DNS-over-HTTPS) 查询主机名,您需要使用以下命令指定 DoH 解析器 @https://
,例如使用 Cloudflare DNS-over-HTTPS 解析器:
doggo duckduckgo.com @https://cloudflare-dns.com/dns-query
Doggo 也可作为网络工具使用,网址为 https://doggo.mrkaran.dev/
您可能还想查看 Dog,这是一个类似的命令行 DNS 客户端,它启发了 Doggo,但用 Rust 而非 Golang 编写。