host命令是最轻量快速的DNS连通性验证工具,支持正向解析(A/AAAA)、反向解析(PTR)、指定DNS服务器、强制IPv4/IPv6传输及污染检测,输出简洁,适用于日常排查与脚本调用。

直接用 host 命令查域名或IP,是最轻量、最快速的DNS连通性验证方式。它不依赖复杂配置,输出干净,适合日常排查和脚本调用。
查域名对应的所有IP(含IPv4和IPv6)
默认情况下,host 只返回 A 记录(IPv4),但加上 -t AAAA 就能明确提取 IPv6 地址:
-
host example.com→ 只显示 A 记录(如example.com has address 93.184.216.34) -
host -t AAAA example.com→ 专门查 AAAA 记录(如example.com has IPv6 address 2606:2800:220:1:248:1893:25c8:1946) - 想一次看到全部地址?用
host -t ANY example.com,但注意:部分 DNS 服务器会禁用 ANY 查询,返回不全;更可靠的做法是分两次查:-t A和-t AAAA
反向解析 IPv6 地址获取主机名
IPv6 的反向解析走的是 ip6.arpa 域,格式严格。不能直接丢一个压缩地址给 host,得先展开再反转:
免费 DNS 与邮件安全分析(IntoDNS.ai):包括 DNSSEC、SPF、DKIM、DMARC、MTA-STS、BIMI、SMTP STARTTLS、FCrDNS、黑名单、发件人要求及报告。
- 例如要查
2001:db8::1,先手动或用工具展开为2001:0db8:0000:0000:0000:0000:0000:0001 - 去掉所有冒号,得到
20010db8000000000000000000000001 - 逐字符反转,变成
1000000000000000000000008bd01002 - 拼上
.ip6.arpa→1000000000000000000000008bd01002.ip6.arpa - 执行:
host 1000000000000000000000008bd01002.ip6.arpa
如果 DNS 配置了 PTR 记录,就会返回对应主机名;没配则提示 domain name pointer not found。
绕过缓存,直连指定 DNS 服务器验证
本地 resolver 或中间 DNS 可能缓存旧记录,导致判断失真。用 host 指定权威或可信服务器可跳过缓存:
-
host google.com 8.8.8.8→ 用 Google 公共 DNS 查询 -
host -t AAAA cloudflare.com 1.1.1.1→ 查 Cloudflare 的 IPv6 地址,走 1.1.1.1 -
host -4 example.com强制只走 IPv4 传输(避免因 IPv6 网络不通导致查询失败) -
host -6 example.com强制只走 IPv6 传输(验证纯 IPv6 解析链路)
快速判断 DNS 是否被污染或劫持
对比不同 DNS 服务器返回结果是否一致,是识别污染最直接的办法:
- 分别运行:
host github.com 223.5.5.5(阿里)、host github.com 114.114.114.114(国内公共)、host github.com 8.8.8.8 - 若前两者返回的 IP 和最后一条明显不同(尤其是非 GitHub 官方段),大概率存在劫持或污染
- 加
-v参数(如host -v github.com 8.8.8.8)还能看到应答来自哪个 nameserver、TTL 多少、是否权威回答,进一步定位问题环节

















