首页/网络/网络排障速查/host 命令:极简 DNS 查询
DNS 与解析排查46 条

host 命令:极简 DNS 查询

单命令快速查询:host 默认输出精炼,-t 指定类型,-a 等效 ANY(受限),-v 输出详细报文,适合终端里随手查。

网络排障速查网络更新于 2026-10-13

host 命令是什么

host 是 BIND 工具包里最精简的 DNS 查询命令:默认输出精炼,适合终端里随手查一条记录;-t 指定记录类型,-v 输出接近 dig 的详细报文,-C 可对比 SOA 与 NS 的一致性信息。它与 nslookup、dig 同源,装在同一个包里,容器最小镜像里通常需要先安装 bind-utils 或 dnsutils。它的定位是『快速看一眼』,需要完整字段时仍应换用 dig。

基本信息

适用平台Linux/Unix(bind-utils 或 dnsutils 包)
常用参数-t 指定类型、-v 详细输出、-C 一致性检查
默认行为查询 A/AAAA 等常用类型,不查 MX/TXT 等特殊类型
输出风格简洁,适合人工快速判读

典型使用场景

  • 随手验一条记录:比 dig 输出更短,终端里更省屏幕
  • 反查 IP:直接用 host 加 IP 得到 PTR 结果
  • 脚本中的轻量查询:把输出交给 grep 做简单判断
  • 确认域名是否存在别名:默认输出会展示别名指向关系
  • 对比多个记录类型:配合 -t 快速切换 A、MX、TXT
  • 交接与演示:输出简短,适合在会议或工单里直接引用

常见用法

常见用法
# 默认查询
host example.com
# 指定记录类型
host -t MX example.com
host -t TXT example.com
# 详细报文,接近 dig 的格式
host -v example.com
# 反查
host 8.8.8.8
# 一致性对比(若当前版本支持)
host -C example.com

结果判读

输出形态含义注意事项
域名 has address ...A 记录查询成功多地址时会逐行列出
is an alias for ...存在 CNAME需继续解析最终目标
domain name pointer ...反查得到的 PTRPTR 与 A 记录不必然一致
NXDOMAIN 提示域名不存在与 NODATA 区分开

与 nslookup、dig 的分工

与 nslookup、dig 的分工
# host:输出最短,适合人工快速判读
host -t MX example.com
host example.com 8.8.8.8
# nslookup:交互式切换类型与服务器
nslookup example.com
# dig:字段完整、格式稳定,适合脚本与取证
dig +noall +answer example.com MX
host 默认只查常用类型:查 MX、TXT、SRV 必须显式加 -t,忘了加会误以为『没有该记录』,这是最常见的使用失误。
在最后一段参数位置可以直接指定 DNS 服务器,例如 host example.com 8.8.8.8,用来在多台解析器之间快速切换对照,不必修改本机配置。
相对域名的解析行为与 resolv.conf 中的 search/domain 设置相关:同一命令在不同环境的结果可能不同,跨机器比对时应使用完整的绝对域名。

易错点

  • 忘记 -t 导致误判记录缺失:默认只查 A/AAAA 等类型
  • 跨环境使用相对域名:search 域不同导致解析到不同记录
  • 把 host 的精简输出当完整信息:缺少 TTL、rcode 等关键字段
  • 在精简容器里直接调用:缺少 bind-utils,命令根本不存在
  • 依赖 -C 结果做一致性结论:部分版本不支持该参数,行为差异大

数据来源与参考

  • BIND 9:host 工具手册
  • dnsutils/bind-utils 包说明

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌