什么是nslookup命令

4,540 阅读8分钟

什么是nslookup命令?

名称服务器查询(nslookup)是一个命令行工具,让你找到特定主机名的互联网协议(IP)地址或域名系统(DNS)记录。该命令还允许通过输入相应域名的IP地址进行反向DNS查询

nslookup工具对与DNS有关的任务很有用,如服务器测试或故障排除问题。要使用这个工具,在命令行界面(CLI)中输入 "nslookup",如Windows的命令提示符或Linux和macOS的终端。

在这篇文章中,我们将讨论什么是nslookup,它的目的,它的命令,以及你应该如何使用它。最后,我们将回答一些关于该工具的常见问题。

什么是nslookup?

nslookup是一个命令行工具,用于发现一个特定域名的IP地址或DNS记录。它还允许反向DNS查询,让你找到连接到一个IP地址的域名。要使用该工具,在命令提示符或终端输入 "nslookup"。

nslookup命令的目的是什么?

nslookup的主要目的是检索有关指定域名的详细信息。这些信息对于排除与DNS有关的问题至关重要。

例如,你的网站不工作了,你想通过ping它来检查主机服务器是否可以到达。使用下面的命令来发送一个IP地址的查询请求。

nslookup domainname.tld

使用这个nslookup语法检查DNS服务器是否停机。

nslookup domainname.tld dns.server.ip.address

如果DNS服务器工作正常,你会看到以下结果。

否则,如果DNS没有响应查询,将出现一个错误信息。这可能表明DNS服务器出现了故障。

如果你省略了DNS服务器的IP,nslookup将向你电脑设置中的默认DNS服务器发送解析请求。

你可以通过输入切换DNS服务器。

nslookup
server dns.server.ip.address

当你的域名指向不正确的名称服务器时,可能会出现另一个与DNS有关的问题。要检查一个域名的名称服务器,请输入以下内容。

nslookup -type=ns yourdomainname.tld

除了名称服务器,您还可以使用另一种查询类型来查询不同的资源记录,如AAAACNAMELOCPTRMX记录。

DNS记录是存储在DNS名称服务器中关于域名的信息。DNS记录的最大数量各不相同。对于一个拥有高级DNS主机的域名来说,它可以达到数千条。每种记录类型都有不同的用途:

  • A - 负责将域名映射到一个IP地址。
  • AAA - 与A记录相同,但使用IPv6而不是IPv4。
  • CNAME - 关于域名的替代名称的信息。
  • LOC - 指定一个域名的地理位置。
  • PTR- 将一个IP地址映射到一个主机名,也负责邮件交换。PTR记录要求域名有一个专用的IP地址
  • MX - 负责邮件交换。MX记录将域名映射到邮件服务器。

PTR记录对于反向DNS查询至关重要,反向DNS查询使用一个IP地址来询问一个域名。反向DNS查询帮助邮件服务器确认收到的邮件是否来自有效来源。

要验证一个IP地址是否能解析到你的主机名,可以通过输入nslookup,然后再输入主机名的IP地址来检查PTR记录的值。

例如,你想对google.com做一个PTR查询。由于它的IP地址是142.250.4.113,输入。

nslookup 142.250.4.113

在下面的例子中,我们可以看到,该IP地址的PTR记录是sm-in-f113.1e100.net。

配置PTR记录对邮件交换至关重要。它通过确保邮件服务器的IP地址和转发的DNS相匹配来防止邮件跳出。

然而,由于它需要一个专用IP,你只能在有虚拟专用服务器托管的域名上设置PTR记录。

nslookup命令列表

有各种类型的nslookup命令用于请求不同的域名信息,最常用的命令包括:

  • name- 显示使用默认服务器的域名或主机名的信息。
  • server name - 使用当前服务器的信息设置一个不同的默认DNS服务器。
  • root- 将根服务器指定为默认服务器。
  • set type=<记录类型>- 查询一个特定的DNS记录类型,如A、MX、PTRSOA。使用ANY来显示所有的服务器记录。
  • set debug - 显示关于每个查询及其相应响应的调试信息。
  • set recurse - 要求DNS名称服务器查询其他服务器,如果它不能提供信息。
  • help - 显示 nslookup 命令及其功能的列表。
  • exit - 退出nslookup工具,让用户返回CLI。

nslookup命令应该如何使用?

你几乎可以在任何操作系统的命令行应用程序中使用nslookup,例如Windows的命令提示符或Linux和macOS的终端。

在不同的操作系统上,nslookup的工作方式类似,尽管看起来略有不同。例如,这里是它在Linux上的样子。

nslookup有两种模式,交互式和非交互式。虽然两者的目的相似,但它们是为不同的使用情况设计的。

交互式模式让用户输入额外的参数,允许他们查询名称服务器,以获得有关域或主机的多种信息。

同时,非交互式模式只提供关于域或主机的单一信息。

要进入交互式模式,在你的CLI中输入nslookup,不带参数。它将显示默认的服务器名称、地址,以及你可以输入域名或不同命令的行。

要进入非交互式模式,请输入nslookup,后面跟一个域名作为第一个参数。你可以在域名前面加上各种命令来询问不同的信息,或者在域名后面加上一个名称服务器地址。

在非交互式模式下,你应该在同一行中输入域名和命令。相反,交互式模式对每个域名和参数使用一行。

有时,nslookup在输入查询后会返回一个非权威的答案。这发生在nslookup从你的本地DNS服务器缓存中获取信息,而不是域的权威服务器。

当第一次访问一个网站时,你的浏览器会向DNS解析器询问该域名的IP地址。然后,解析器将询问根服务器,将前者引向该域名的顶级域(TLD)服务器。

然后,TLD服务器将发送一个响应,将解析器引向权威服务器。解析器将询问权威服务器的信息,其中包括其IP地址和DNS记录。

接下来,权威服务器将把被查询域名的地址和DNS记录发回解析器,解析器将其转发给客户。网络浏览器现在可以在收到IP地址后连接到该域名。

客户端和解析器服务器将把该域名的信息作为DNS缓存储存在本地。因此,当用户重新访问同一个域名时,不需要重复整个过程。浏览器可以简单地从DNS缓存中获取IP地址。

非权威性答案可能是过时的,因为信息是从缓存中获取的。它们不适合用于故障排除的目的。要获得一个权威的答案,请输入。

nslookup -type=soa domainname.tld

这将查询包含指定域的重要信息的授权标准(SOA)记录。例如,你想获得google.com这个域名的权威性响应。

因为你只需要主域名服务器,所以不需要担心非权威性的答案。

接下来,使用主名称服务器来执行查询。非权威性的信息应该消失。

使用nslookup命令从浏览器查询DNS服务器

使用在线网络工具,如ping.eucentralops.net,从你的浏览器中查询DNS服务器。这两个网络应用程序都提供基本的nslookup功能。然而,后者提供了更多的高级功能,如递归功能。

总结

nslookup是一个命令行工具,用于检索一个域名的信息,包括其IP地址和DNS记录。要使用这个工具,在命令提示符或终端输入 "nslookup"。

使用各种nslookup命令,你将得到关于你的域名的不同信息。这可以帮助解决与DNS有关的问题。但是,在这样做时,要确保服务器提供一个权威性的答案。你可以通过询问该域名的SOA记录来做到这一点。

为了帮助你进一步了解nslookup,我们已经回答了关于该命令的常见问题。

什么是nslookup?常见问题解答

nslookup和Ping之间有什么区别?

虽然两者都对排除网络问题很有用,但Ping使用额外的步骤来解决域名和IP地址的问题。同时,nslookup只依赖于DNS服务器。

Ping一个IP地址让你验证该地址是否存在并能处理请求。另一方面,nslookup提供关于域名的IP地址和DNS记录的信息。

什么是不同的nslookup命令模式?

nslookup有两种模式,非交互式和交互式。这两种模式都提供相同的服务器信息。然而,它们是为不同的使用情况准备的。

我们推荐使用 nslookup 交互式模式来查询多个信息。要使用这种模式,键入nslookup,不带任何参数,并在随后的行中输入不同的命令、IP地址或域名。

在查询单个数据时使用非交互式模式。要访问它,键入nslookup,然后将域名作为第一个参数,DNS服务器的IP地址作为第二个参数。

nslookup是一个DNS吗?

它们是不同的,但nslookup需要DNS来工作。域名系统将一个域名解析为它的IP地址。同时,nslookup是一个工具,允许用户请求DNS名称服务器提供关于主机名的信息。