首页/系统/Linux 运维命令速查/host 简洁 DNS 查询
网络命令82 条

host 简洁 DNS 查询

输出最简洁的 DNS 工具:host 域名 直接给 A/AAAA,-t 指定类型,脚本里取结果方便。

Linux 运维命令速查系统更新于 2026-10-13

host 是什么

host 是 BIND 工具集里的极简 DNS 查询命令,输出只有最终答案,不带 TTL、权威段等细节。它适合「快速拿到一条记录」的场合:脚本里取 A 记录判断连通性、查 MX 与 TXT 核对邮件配置、做反向解析都很顺手。需要看 TTL、递归过程与完整报文时改用 dig。

基本信息

所属BIND 工具集(RHEL 系 bind-utils、Debian 系 bind9-host)
语法host [-t 类型] 名称 [服务器]
常用类型A / AAAA / MX / TXT / NS / CNAME / PTR
输出特点简洁,仅返回最终结果,无 TTL 与权威段

典型使用场景

  • 脚本里快速取域名解析结果做连通性判断
  • 校验邮件域配置:查 MX 记录与 SPF 所在的 TXT 记录
  • 核对域名 NS 是否已切换到新服务商
  • 反向解析:由 IP 查 PTR,追查访问来源
  • 指定 DNS 服务器直查,绕过本地缓存对比结果
  • 解析异常时先看有没有结果,再决定是否上 dig 深挖

常用示例

常用示例
host example.com                     # 默认查 A 与 AAAA
host -t MX qiqicto.com               # 查邮件交换记录
host -t TXT example.com              # 查 TXT,例如 SPF 与验证值
host -t NS example.com               # 查权威域名服务器
host 8.8.8.8                         # 反向解析成域名
host example.com 223.5.5.5           # 指定 DNS 服务器查询
host -t CNAME www.example.com        # 看别名指向哪个目标
host -W 3 example.com                # 设置超时,避免脚本长时间挂起

输出逐段读法

输出片段含义正常/异常
has addressA 记录,IPv4 地址为空说明无 A 记录或解析失败
has IPv6 addressAAAA 记录只有 A 记录时属正常
mail is handled byMX 记录,前面的数字是优先级数字越小优先级越高
name serverNS 记录数量应与注册商处配置一致
NXDOMAIN域名不存在多为拼写错误或解析链路问题
host 只给最终答案,看不到 TTL 与权威段。怀疑缓存污染、需要看解析链路时,用 dig 或 dig +trace 更合适;host 更适合「先看一眼」。
多条记录的返回顺序不保证稳定,依赖顺序写判断逻辑的脚本会时对时错。需要固定顺序时自行 sort,或改用带排序逻辑的判断方式。
查询走的是 /etc/resolv.conf 里的递归服务器。怀疑本地 DNS 有问题时,在命令末尾直接加一个公共 DNS 地址对比结果,能快速区分是本地解析的问题还是权威侧的问题。
host 的 -t any 在不少递归服务器上已被限制,返回内容与预期不符属正常现象;要完整查看各类记录,逐类型查询或改用 dig 更可靠。

易错点

  • 用 host 的输出顺序写判断逻辑:返回顺序不保证稳定,脚本会时对时错
  • 拿 host 查 TTL 或权威段:它不输出这类信息,容易被误判成没有数据,应改用 dig
  • 脚本里不加超时保护直接调 host:DNS 卡住时脚本一起被拖住,用 -W 或外层 timeout
  • 把 NXDOMAIN 当成网络故障:域名不存在与网络不通是两类问题,先分清再排查

数据来源与参考

  • man 1 host(BIND 9 官方手册)

相关工具

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