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 ... | 反查得到的 PTR | PTR 与 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 MXhost 默认只查常用类型:查 MX、TXT、SRV 必须显式加 -t,忘了加会误以为『没有该记录』,这是最常见的使用失误。
在最后一段参数位置可以直接指定 DNS 服务器,例如 host example.com 8.8.8.8,用来在多台解析器之间快速切换对照,不必修改本机配置。
相对域名的解析行为与 resolv.conf 中的 search/domain 设置相关:同一命令在不同环境的结果可能不同,跨机器比对时应使用完整的绝对域名。