什么是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
除了名称服务器,您还可以使用另一种查询类型来查询不同的资源记录,如A、AAA、 CNAME、 LOC、 PTR和MX记录。
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、PTR或SOA。使用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.eu或centralops.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名称服务器提供关于主机名的信息。