网站搜索

用于查询 DNS 查找的有用“host”命令示例


Host 命令是一个最小且易于使用的 CLI 实用程序,用于执行 DNS 查找,将域名转换为 IP 地址,反之亦然。它还可用于列出和验证各种类型的 DNS 记录(例如 NS 和 MX)、测试和验证 ISP DNS 服务器和互联网连接、垃圾邮件和黑名单记录、检测和排除 DNS 服务器问题等。

在本文中,我们将通过一些有用的示例在 Linux 中学习如何使用 host 命令来执行 DNS 查找。在之前的文章中,我们展示了最常用的 8 个 Nslookup 命令,用于测试 DNS 服务器和故障排除以及查询特定的 DNS 资源记录 (RR)。

我们还解释了 10 个用于查询 DNS 信息的 Linux Dig(Domain Information Groper)命令,它的工作方式更像是 Nslookup 工具。主机实用程序也以类似的方式工作,并且预装在大多数(如果不是全部)主流 Linux 发行版上。

话虽如此,让我们看看下面这 14 个主机命令。

查找域IP地址

这是您可以运行的最简单的主机命令,只需提供一个域名(例如 google.com)即可获取关联的 IP 地址。

$ host google.com

google.com has address 216.58.201.46
google.com has address 216.58.201.46
google.com has address 216.58.201.46
google.com has IPv6 address 2a00:1450:4009:80b::200e
google.com mail is handled by 20 alt1.aspmx.l.google.com.
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 10 aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.
google.com mail is handled by 50 alt4.aspmx.l.google.com.

查找域名服务器

要查找域名服务器,请使用 -t 选项。

$ host -t ns google.com

google.com name server ns1.google.com.
google.com name server ns2.google.com.
google.com name server ns3.google.com.
google.com name server ns4.google.com.

查找域名 CNAME 记录

要找出域 CNAME,请运行。

$ host -t cname mail.google.com

mail.google.com is an alias for googlemail.l.google.com.

查找域名 MX 记录

查找某个域的 MX 记录。

$ host -n -t mx google.com

ogle.com mail is handled by 50 alt4.aspmx.l.google.com.
google.com mail is handled by 10 aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 20 alt1.aspmx.l.google.com.

查找域名 TXT 记录

查找域的 TXT 记录。

$ host -t txt google.com

google.com descriptive text "v=spf1 include:_spf.google.com ~all"

查找域 SOA 记录

您可以使用 -C 标志让主机尝试显示该区域的所有列出的权威名称服务器中指定区域的 SOA 记录。

$ host -C google.com

Nameserver 216.239.38.10:
	google.com has SOA record ns1.google.com. dns-admin.google.com. 156142728 900 900 1800 60
Nameserver 216.239.32.10:
	google.com has SOA record ns3.google.com. dns-admin.google.com. 156142728 900 900 1800 60
Nameserver 216.239.34.10:
	google.com has SOA record ns4.google.com. dns-admin.google.com. 156142728 900 900 1800 60
Nameserver 216.239.36.10:
	google.com has SOA record ns2.google.com. dns-admin.google.com. 156142728 900 900 1800 60

查询特定名称服务器

查询特定域名服务器。

$ host google.com ns4.google.com

Using domain server:
Name: ns4.google.com
Address: 216.239.38.10#53
Aliases: 

google.com has address 172.217.19.46
google.com has address 172.217.19.46
google.com has address 172.217.19.46
google.com has IPv6 address 2a00:1450:4005:808::200e
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 20 alt1.aspmx.l.google.com.
google.com mail is handled by 50 alt4.aspmx.l.google.com.
google.com mail is handled by 10 aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.

查找域记录和区域的所有信息

要进行 ANY 类型的查询,请使用 -a(全部)选项,该选项相当于设置 -v 选项。

$ host -a google.com

Trying "google.com"
;; ->>HEADER<

获取域 TTL 信息

找出域名的TTL信息。

$ host -v -t a google.com

Trying "google.com"
;; ->>HEADER<

使用 IPv4 或 IPv6

-4-6 选项强制主机分别仅使用 IPv4 或仅使用 IPV6 查询传输。

host -4 google.com
OR
host -6 google.com

执行非递归查询

-r 选项执行非递归查询,请注意,设置此选项会清除 RD(需要递归),即主机发出的查询中的位。

$ host -rR 5 google.com

google.com has address 216.58.201.46
google.com has address 216.58.201.46
google.com has address 216.58.201.46
google.com has IPv6 address 2a00:1450:4009:80b::200e
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.
google.com mail is handled by 50 alt4.aspmx.l.google.com.
google.com mail is handled by 20 alt1.aspmx.l.google.com.
google.com mail is handled by 10 aspmx.l.google.com.

设置查找的 UDP 重试次数

默认情况下,UDP 尝试次数为 1,要更改它,请使用 -R 标志。

$ host -R 5 google.com

google.com has address 216.58.201.46
google.com has address 216.58.201.46
google.com has address 216.58.201.46
google.com has IPv6 address 2a00:1450:4009:80b::200e
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.
google.com mail is handled by 50 alt4.aspmx.l.google.com.
google.com mail is handled by 20 alt1.aspmx.l.google.com.
google.com mail is handled by 10 aspmx.l.google.com.

设置查询等待回复时间

使用 -W 开关,您可以指示主机等待指定时间(以秒为单位)的回复,如果使用 -w 标志,则使主机永远等待回复:

$ host -T -W 10 google.com

google.com has address 216.58.201.46
google.com has address 216.58.201.46
google.com has address 216.58.201.46
google.com has IPv6 address 2a00:1450:4009:80b::200e
google.com mail is handled by 10 aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 20 alt1.aspmx.l.google.com.
google.com mail is handled by 50 alt4.aspmx.l.google.com.

就是这样!在本文中,我们通过一些有用的示例在 Linux 中学习了如何使用 host 命令。使用下面的反馈表与我们分享有关本指南的任何想法。