nslookup 命令:7 个实用示例

您可以使用 nslookup 查询 DNS 并获取网站的 IP 地址、名称服务器、域名等信息。

Linux 中的 nslookup 命令示例

让我向您展示一些 nslookup 命令的示例。

1.获取一个网站的IP地址

nslookup 以最简单的形式返回域名和 IP 地址(IPv4 和 IPv6),没有任何选项。 nslookup 最流行的用途之一是使用此方法在 Linux 中获取网站的 IP 地址。

nslookup <URL>

这是一个示例输出:

nslookup linuxhandbook.com
Server: 127.0.0.53
Address: 127.0.0.53#53

Non-authoritative answer:
Name: linuxhandbook.com
Address: 142.93.143.135
Name: linuxhandbook.com
Address: fd00:0:12:13::8e5d:8f87

上面命令输出中的127.0.0.53地址是我自己系统的systemd设置的DNS。 在某些情况下,它可能是 8.8.8.8 等。

什么是非权威答案?
在 nslookup 命令的输出中,您经常会注意到“非权威答案”。 这意味着您获得的 DNS 查询答案来自非权威来源。
这是因为当您使用 nslooku 时,答案并非直接来自您正在查询的服务器的名称服务器。 它主要来自您的互联网服务提供商的名称服务器。

2. 获取名称服务器(NS 记录)

您还可以使用 nslookup 仅显示与域关联的名称服务器。 这些名称服务器存储各种 DNS 相关记录。 通常,一个域有多个名称服务器用于备份目的。

要仅显示名称服务器,您需要做的就是指定 nslookup 查询的类型:

nslookup -type=ns <URL>

Linux 手册网站的示例输出为:

nslookup -type=ns linuxhandbook.com
Server: 127.0.0.53
Address: 127.0.0.53#53

Non-authoritative answer:
linuxhandbook.com nameserver = dns2.registrar-servers.com.
linuxhandbook.com nameserver = dns1.registrar-servers.com.

Authoritative answers can be found from:

3.显示MX记录

DNS 中的 MX 记录指定域名的邮件服务器设置。 这决定了哪个邮件服务器处理相关域的电子邮件。

nslookup -type=mx <URL>

示例输出可能是这样的:

nslookup -type=mx itsfoss.com
Server: 127.0.0.53
Address: 127.0.0.53#53

Non-authoritative answer:
itsfoss.com mail exchanger = 5 alt2.aspmx.l.google.com.
itsfoss.com mail exchanger = 1 aspmx.l.google.com.
itsfoss.com mail exchanger = 10 alt3.aspmx.l.google.com.
itsfoss.com mail exchanger = 5 alt1.aspmx.l.google.com.
itsfoss.com mail exchanger = 10 alt4.aspmx.l.google.com.

Authoritative answers can be found from:

请注意,有时未定义邮件服务器设置,在这种情况下,使用 nslookup 的 mx 查询可能会返回如下输出:

nslookup -type=mx linuxhandbook.com
Server: 127.0.0.53
Address: 127.0.0.53#53

Non-authoritative answer:
*** Can’t find linuxhandbook.com: No answer

Authoritative answers can be found from:

4. 使用 nslookup 获取 SOA 记录

您可以通过指定查询类型,使用 nslookup 查询和显示 SOA(授权开始)记录:

nslookup -type=soa <URL>

示例输出如下所示:

nslookup -type=soa linuxhandbook.com
Server: 127.0.0.53
Address: 127.0.0.53#53

Non-authoritative answer:
linuxhandbook.com
origin = dns1.registrar-servers.com
mail addr = hostmaster.registrar-servers.com
serial = 2019051520
refresh = 43200
retry = 3600
expire = 604800
minimum = 3601

Authoritative answers can be found from:

您可以阅读 SOA 记录的各种属性 这里.

5.用nslookup显示所有DNS记录

您可以使用 any 选项在一个命令中显示所有上述记录(已设置)。

nslookup -type=any <URL>

您将看到上述所有命令的综合输出:

nslookup -type=any linuxhandbook.com
Server: 127.0.0.53
Address: 127.0.0.53#53

Non-authoritative answer:
linuxhandbook.com
origin = dns1.registrar-servers.com
mail addr = hostmaster.registrar-servers.com
serial = 2019051520
refresh = 43200
retry = 3600
expire = 604800
minimum = 3601
linuxhandbook.com nameserver = dns1.registrar-servers.com.
linuxhandbook.com nameserver = dns2.registrar-servers.com.
Name: linuxhandbook.com
Address: 142.93.143.135

Authoritative answers can be found from:

6.反向DNS查找

到目前为止,您已经查询了某个域的 DNS 并获得了它的 IP 地址。 您可以执行反向 DNS 查找并搜索与 IP 地址关联的域名。

nslookup <IP_ADDRESS>

为了 example,如果我在 Linux Handbook 的服务器上使用 nslookup 进行反向 DNS 查找,我得到的答案是:

nslookup 142.93.143.135
135.143.93.142.in-addr.arpa name = 217283.cloudwaysapps.com.

Authoritative answers can be found from:

你没想到这个输出,是吗? 这是因为 Linux 手册是通过 云道. 使用 Cloudways,您只需单击几下即可安装多个 WordPress 网站。 创建新的 WordPress 安装时,它会放置在 Cloudways 自己的 URL 中。 DNS 设置稍后更改为预期网站的地址。

这就是为什么输出显示 Cloudways 的地址而不是 linuxhandbook.com 的原因

7.使用nslookup查询特定的DNS服务器端口

DNS 服务器使用 TCP 协议,因此默认使用端口 53。 如果 DNS 服务器使用了其他端口,您可以使用 nslookup 在查询中指定端口:

nslookup -port=<Port_Number> <URL>

我认为这些材料足以让您了解如何在 Linux 中使用 nslookup 命令。 如果您有任何问题或建议,请随时在下面发表评论。