用于 DNS 查找的 Linux nslookup 命令示例

举报
Tiamo_T 发表于 2022/07/05 17:43:12 2022/07/05
【摘要】 本文提供了一些有关使用 nslookup 命令的示例

nslookup 是一种网络管理工具,用于查询域名系统 (DNS) 以获取域名或 IP 地址映射或任何其他特定的 DNS 记录。

它还用于解决与 DNS 相关的问题。本文提供了一些有关使用 nslookup 命令的示例。

nslookup 可以在“交互模式”和“非交互模式”上运行。交互模式允许用户查询有关各种主机和域的 DNS 服务器。非交互模式允许用户查询主机或域的信息。在本文中,所有解释的命令都是“非交互模式”。

1. nslookup – 简单示例

nslookup 后跟域名将显示域的“A 记录”(IP 地址)。

$ nslookup redhat.com

Server:		192.168.19.2
Address:	192.168.19.2#53

Non-authoritative answer:
Name:	redhat.com
Address: 209.132.183.181

在上面的输出中,server 指的是 DNS 服务器的 IP 地址。然后下面的部分提供了域“redhat.com”的“A 记录”(IP 地址)。

nslookup 命令的默认输出没有 dig 命令的默认输出那么混乱。你们中的一些人可能习惯于使用dig 命令进行 DNS 查找。

2. 使用 -query=mx 查询 MX 记录

MX(邮件交换)记录将域名映射到该域的邮件交换服务器列表。MX 记录告诉发送到“@redhat.com”的所有邮件都应该路由到该域中的邮件服务器。


$ nslookup -query=mx redhat.com
Server:		192.168.19.2
Address:	192.168.19.2#53

Non-authoritative answer:
redhat.com	mail exchanger = 10 mx2.redhat.com.
redhat.com	mail exchanger = 5 mx1.redhat.com.

Authoritative answers can be found from:
mx2.redhat.com	internet address = 66.187.233.33
mx1.redhat.com	internet address = 209.132.183.28

在上面的示例中,我们有 2 条 MX 记录,用于域“redhat.com”。与 MX 记录相关联的数字 ( 5, 10 ) 表示邮件服务器的偏好。数字越小,偏好越高。因此,当邮件发送到“@redhat.com”时,首选将是“mx1.redhat.com”,然后是“mx2.redhat.com”。

权威答案与非权威答案

您可能还注意到上述输出中的关键字“Authoritative Answer”和“Non-Authoritative Answer”。

任何源自具有可用于域的完整区域文件信息的 DNS 服务器的答案都被称为权威答案。

在许多情况下,DNS 服务器不会拥有可用于给定域的完整区域文件信息。相反,它维护一个缓存文件,其中包含过去执行的所有查询的结果,这些查询已获得权威响应。当给出 DNS 查询时,它会搜索缓存文件,并将可用信息作为“非权威答案”返回。

3. 使用-query=ns 查询NS Record

NS(名称服务器)记录将域名映射到对该域具有权威性的 DNS 服务器列表。它将输出与给定域关联的名称服务。

nslookup -type=ns redhat.com
Server:		192.168.19.2
Address:	192.168.19.2#53

Non-authoritative answer:
redhat.com	nameserver = ns4.redhat.com.
redhat.com	nameserver = ns2.redhat.com.
redhat.com	nameserver = ns1.redhat.com.
redhat.com	nameserver = ns3.redhat.com.

Authoritative answers can be found from:
ns4.redhat.com	internet address = 209.132.188.218
ns2.redhat.com	internet address = 209.132.183.2
ns1.redhat.com	internet address = 209.132.186.218
ns3.redhat.com	internet address = 209.132.176.100

4. 使用 -query=soa 查询 SOA 记录

SOA 记录(权限开始),提供有关域的权威信息、域管理员的电子邮件地址、域序列号等……

$ nslookup -type=soa redhat.com
Server:		192.168.19.2
Address:	192.168.19.2#53

Non-authoritative answer:
redhat.com
	origin = ns1.redhat.com
	mail addr = noc.redhat.com
	serial = 2012071601
	refresh = 300
	retry = 180
	expire = 604800
	minimum = 14400

Authoritative answers can be found from:
ns1.redhat.com	internet address = 209.132.186.218
  • mail addr – 指定域管理员的邮件地址 ( noc@redhat.com )
  • 序列号——一种修订编号系统。标准约定是使用“YYYYMMYYNN”格式。(2012-07-16. 01 将增加,如果在同一天进行了多个编辑)
  • refresh – 指定(以秒为单位),辅助 DNS 将轮询主 DNS 以查看序列号是否已增加。如果增加,secondary 将发出新的请求以复制新的区域文件。
  • retry – 指定重新连接主 DNS 的时间间隔
  • expire – 指定辅助 DNS 将缓存区域文件保持有效的时间
  • minimum – 指定辅助 DNS 缓存区域文件的时间

5. 使用 -query=any 查看可用的 DNS 记录

我们还可以使用 -query=any 选项查看所有可用的 DNS 记录。

$ nslookup -type=any google.com
Server:		192.168.19.2
Address:	192.168.19.2#53

Non-authoritative answer:
Name:	google.com
Address: 173.194.35.7
Name:	google.com
Address: 173.194.35.8

google.com	nameserver = ns1.google.com.
google.com	nameserver = ns2.google.com.
google.com
	origin = ns1.google.com
	mail addr = dns-admin.google.com
	serial = 2012071701
	refresh = 7200
	retry = 1800
	expire = 1209600
	minimum = 300
google.com	mail exchanger = 20 alt1.aspmx.l.google.com.
google.com	mail exchanger = 30 alt2.aspmx.l.google.com.
google.com	mail exchanger = 40 alt3.aspmx.l.google.com.
google.com	mail exchanger = 50 alt4.aspmx.l.google.com.
google.com	mail exchanger = 10 aspmx-v4v6.l.google.com.
google.com	has AAAA address 2a00:1450:4002:801::1004

Authoritative answers can be found from:
ns4.google.com	internet address = 216.239.38.10
ns3.google.com	internet address = 216.239.36.10

6.反向DNS查找

您还可以通过将 IP 地址作为参数提供给 nslookup 来执行反向 DNS 查找。

$ nslookup 209.132.183.181
Server:		192.168.19.2
Address:	192.168.19.2#53

Non-authoritative answer:
181.183.132.209.in-addr.arpa	name = origin-www2.redhat.com.

7.使用特定的DNS服务器

除了使用默认 DNS 服务器进行查询外,您还可以指定特定的名称服务器来解析域名。

$ nslookup redhat.com ns1.redhat.com

Server:		209.132.186.218
Address:	209.132.186.218#53

Name:	redhat.com
Address: 209.132.183.181

在上面的命令中,我们使用了 ns1.redhat.com 作为 DNS 服务器。在这里你可能会注意到,我们没有得到任何“Non-authoritative answer:”标题,因为 ns1.redhat.com 拥有 redhat.com 的所有区域信息

8.更改要连接的端口号

默认情况下,DNS 服务器使用端口号 53。如果由于任何原因,端口号被更改,那么我们可以使用 -port 选项指定端口号

$ nslookup -port 56 redhat.com

9.更改超时间隔等待回复

您可以使用 -timeout 选项更改默认超时以等待回复。

$ nslookup -timeout=10 redhat.com

10.使用-debug启用调试模式

您可以在命令行中使用 -debug 选项打开/关闭调试

$ nslookup -debug redhat.com
Server:		192.168.19.2
Address:	192.168.19.2#53

------------
    QUESTIONS:
	redhat.com, type = A, class = IN
    ANSWERS:
    ->  redhat.com
	internet address = 209.132.183.181
	ttl = 5
    AUTHORITY RECORDS:
    ADDITIONAL RECORDS:
------------
Non-authoritative answer:
Name:	redhat.com
Address: 209.132.183.181

调试模式将在搜索过程中显示数据包信息。

与 nslookup 命令类似,您也可以使用dig 命令查询 DNS 信息。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。