如何在Windows上使用NSLookup命令(示例)

如何在Windows上使用NSLookup命令(示例)。 Nslookup是Windows中用于获取域名信息和与这些域名相关联的Internet协议(IP)地址的命令。例如,nslookup命令在使用DNS查询获取不同类型的信息方面非常有用,例如邮件交换服务器信息、权威信息、进行反向查找等。

简单来说,nslookup搜索本地或远程 DNS 服务器上有关请求域的信息。对于管理其组织内的 DNS 服务的系统和网络工程师和管理员来说,此命令至关重要,因此学习其语法、应用和限制是必不可少的。本教程将详细说明如何使用 nslookup 命令,并提供大量实际示例。

Nslookup 模式

交互模式

要在交互模式下使用NSlookup,只需在命令提示符上键入“nslookup”,然后按“enter”键。这将返回本地DNS服务器以及与您的计算机关联的IP地址的显示。

另外,当没有给出参数时,或者第一个参数是“-”(减号)且第二个参数是名称服务器的主机名或互联网地址时,nslookup命令可以进入交互模式。当没有给出参数时,该命令会查询默认名称服务器。为了说明这一点,让我们执行一个基本的nslookup命令。

nslookup

您将看到以下输出:

Default Server: dns.google
Address: 8.8.8.8

一旦nslookup返回信息,您将看到一个nslookup提示符,以继续运行命令。例如,输入您选择的域名,您将收到有关它的信息。在本例中,域名是www.google.com

www.google.com

出现以下输出:

Server: dns.google
Address: 8.8.8.8
Non-authoritative answer:
Name: www.google.com
Addresses: 2a00:1450:401a:800::2004
           172.217.170.164

该命令允许您指定选项。在使用交互模式时指定选项是在查询之前的单独行上完成的,并且需要在“set”关键字之前加上。执行此命令将产生以下输出:

set type-ns
www.google.com

执行此命令会得到以下输出:

Server: dns.google
Address: 8.8.8.8

google.com
         primary name server = ns1.google.com
         responsible mail addr = dns-admin.google.com
         serial 515288775
         refresh 900 (15 mins)
         retry = 900 (15 mins)
         expire = 1800 (30 mins)
         default TTL= 60 (1 min)

最后使用“exit”命令退出交互模式。

exit

非交互模式

如果您希望nslookup发出单个查询,此模式非常有用。查询和命令都在同一行上。当您在第一个参数中给出要查找的主机名或互联网地址时,nslookup 命令进入非交互模式。可选的第二个参数指定名称服务器的主机名或地址。如果它们位于参数之前并以连字符为前缀,则可以在命令行上指定选项。

nslookup -type-ns www.google.com

此命令给出以下输出:

Server: dns.google
Address: 8.8.8.8
google.com
       primary name server = ns1.google.com
       responsible mail addr = dns-admin.google.com
       serial = 515590537
       refresh 900 (15 mins) retry = 900 (15 mins) expire = 1800 (30 mins) default TTL= 60 (1 min)

Nslookup语法

nslookup [-option] [name | -] [server]

选项:这是您需要提供与IP地址或域名一起使用的参数(参数)的地方。选项范围从调试、要使用的端口、超时、DNS记录的类型等等。

名称:在这一部分,您需要提供IP地址或主机名(域名)。这是您的DNS查询的目标。

附加选项:这允许您根据您的DNS查询的性质添加额外的选项作为参数。

服务器:这指定了您希望从哪里执行DNS查询。省略它以使用默认服务器或指定另一个服务器。

Nslookup选项

使用nslookup命令有许多不同的选项可供选择:

Nslookup选项

描述

Nslookup set domain=[域名]

将默认DNS名称更改为选项中指定的名称。

Nslookup set debug

显示调试信息

Nslookup set port=[端口号]

指定查询端口。当未传递时,端口53是默认值。

Nslookup set timeout=[秒数]

用于设置服务器响应时间。在此时间之后,命令将返回DNS服务器未响应或未找到。

Nslookup set type=a

用于查看有关指定DNS A地址记录的信息

Nslookup set type=any

命令显示指定DNS的所有记录

Nslookup set type=hinfo

用于查看有关主机的硬件相关信息

Nslookup set type=mx

查看有关服务器邮件交换的信息

Nslookup set type=ns

显示名称服务器的记录

Nslookup set type=ptr

反向DNS查询以查看指针记录

Nslookup set type=soa

显示授权开始记录

Nslookup exit

退出nslookup命令提示符

Nslookup finger

用于连接当前机器上的finger服务器

Nslookup help

命令显示其他子命令的简要信息

Nslookup set all

用于返回当前配置设置的值

Nslookup set class

更改查询类别。类别指定信息的协议组

Nslookup set d2

用于打开或关闭详尽调试模式。它打印每个数据包的所有字段

Nslookup set retry

用于指定重试次数

Nslookup set search

将DNS域搜索列表附加到请求,直到返回响应

12个NSlookup命令使用示例

nslookup帮助您检查各种DNS记录类型。以下是一些示例。

1. Nslookup IP地址(IP到域名)

Powershell中,此命令用于检查已知IP地址的域名。从下面的代码片段中,该命令返回dns.google.com作为IP地址8.8.8.8的域名

nslookup 8.8.8.8

结果:

Server: Unknown
Address: fe80::7404:37ff:fe53:a5d2
Name: dns.google
Address: 8.8.8.8

2. Nslookup域名(域名到IP地址)

当知道域名但想要找到对应于该域名的IP地址时,使用此命令。查看下面的代码片段,运行使用mydomain.com域名的命令时,出现了几个IP地址。将mydomain.com替换为您的域名。

nslookup mydomain.com

运行此命令会得到以下输出:

Server: Unknown
Address: 192.168.100.10

Name: mydomain.com
Addresses: 192.168.100.12
           192.168.100.10
           192.168.100.11

3. Nslookup MX记录

负责接受特定电子邮件的邮件服务器可以通过运行MX记录查询来找到。为了能够找到MX记录,需要使用“–type=mx”选项,后面跟着域名。请将mydomain.com替换为您的域名。

nslookup -type-mx mydomain.com

以下是输出结果:

Server: Unknown
Address: 192.168.100.10

Non-authoritative answer:
mydomain.com MX preference = 0, mail exchanger mydomain-com.mail.eo.outlook.com
mydomain.com.mail.eo.outlook.com     internet address 104.47.58.110
mydomain.com.mail.eo.outlook.com     internet address 104.47.55.110

4. Nslookup SOA记录

有时,人们可能想知道哪个DNS服务器是获取特定域信息的最好来源。为此,授权开始记录(SOA)提供了帮助。它显示了默认的ttl、负责的邮件地址、主名称服务器等信息。

nslookup -type-soa mydomain.com

结果:

Server: Unknown
Address: 192.168.100.10
mydomain.com
          primary name server = dc1.mydomain.com
          responsible mail addr = hostmaster.mydomain.com
          serial = 667
          refresh = 900 (15 mins)
          retry = 600 (10 mins)
          expire = 86400 (1 day)
          default TTL = 3600 (1 hour)
dc1.mydomain.com internet address = 192.168.100.10

5. Nslookup CNAME

用于将一个DNS名称重定向或别名为另一个DNS名称。

nslookup -type=cname www.mydomain.com

结果:

Server:   Unknown
Address:  fe80::7404:37ff: fe53:a5d2

Non-authoritative answer:
www.mydomain.com     canonical name = mydomain.com

6.名称服务器查询

当需要知道一个域的名称服务器时很有用。

nslookup -type-ns www.google.com

结果:

Server:  Unknown
Address:  fe80::7404:37ff: fe53: a5d2

Non-authoritative answer:
google.com       text =
               "atlassian-domain-verification=5YjTmWmj192ewqkx20XmBaD60Td9zWon9n

7. Nslookup TXT记录

用于检查域的文本DNS记录。

nslookup -q=TXT www.google.com

结果:

Server:  dns.google
Address: 8.8.8.8

google.com
         primary name server = ns1.google.com
         responsible mail addr = dns-admin.google.com
         serial = 515590537
         refresh = 900 (15 mins)
         retry = 900 (15 mins)
         expire = 1800 (30 mins)
         default TTL = 60 (1 min)

8. Nslookup所有DNS记录

运行此命令以查看域的所有记录。

nslookup -type=any google.com

结果:

Server: dns.google
Address: 8.8.8.8

Non-authoritative answer:
google.com       internet address = 142.250.184.110
google.com       AAAA IPv6 address = 2a00:1450:4002:406::200e
google.com       text -
          "atlassian-domain-verification-5Yjmwmj192ewqkx2oXmBaD60Td9zWon9r6eakvHX6877zzkFQto8PQ9QsKnbf41"

9. Nslookup域控制器

用于显示指定域的所有域控制器。按照以下说明为给定域生成完整的域控制器列表。

  • 在命令提示符下输入nslookup。
nslookup

结果:

Server: Unknown
Address: ::1
  • 按下回车键后,输入set type=SRV。
set type=SRV
  • 然后,在输入_ldap._tcp.mydomain.com后按回车键(将mydomain.com替换为您自己的域名)。
_ldap._tcp.mydomain.com

这将返回指定域的所有域控制器的列表。

10. Nslookup详细模式

当您需要显示有关特定资源记录的更多信息,例如默认TTL、邮件地址、主名称服务器以及更多信息时,您只需开启调试功能即可。

nslookup

在我们的例子中,输出如下:

Default Server: dns9.quad9.net
Address: 9.9.9.9

然后使用命令set debug,然后输入域名。

set debug
google.com

输出:

Server:   dns9.quad9.net
Address:   9.9.9.9
----------------
Got answer:
      HEADER:
           opcode QUERY, id = 2, rcode = NXDOMAIN
           header flags:  response, want recursion, recursion avail.
           questions = 1, answers = 0, authority records = 1, additional = 0

     QUESTIONS:
           google.com.mhs, type = A, class = IN
     AUTHORITY RECORDS:
     ->   (root)
            ttl=559 (9 mins 19 secs)
            primary name server = a.root-servers.net responsible mail addr = nstld.verisign-grs.com
            serial = 2021090600
            refresh = 1800 (30 mins)
            retry = 900 (15 mins)
            expire = 604800 (7 days)

11. Nslookup使用外部DNS服务器

在故障排除过程中,这非常有用。您可能会发现,当您在内部网络外部时,某个网站可以加载,但一旦进入内部网络,它就无法加载。在这种情况下,使用此命令查看外部DNS服务器返回的结果是否与内部DNS服务器返回的结果不同。可以使用Google或您的ISP DNS服务器进行此操作。

输入nslookup并按“回车”以更改DNS服务器。接着输入服务器IP地址。例如,“server8.8.8.8”然后按回车。通过执行这些命令,nslookup命令被指示使用8.8.8.8服务器运行DNS记录查询。

nslookup

输出:

Default Server: Unknown
Address:  192.168.100.10

接下来输入服务器信息,在我们的例子中是:8.8.8.8

server 8.8.8.8

你得到:

Default Server: dns.google
Address: 8.8.8.8

然后,例如,如果我们对yahoo.com进行DNS查询,我们将更改到8.8.8.8作为DNS服务器,如下所示:

yahoo.com
Server: dns.google
Address: 8.8.8.8

Non-authoritative answer:
Name:          yahoo.com
Addresses:   2001:4998:24:120d::1:1
                  2001:4998:44:3507::8001
                  2001:4998:24:120d::1:0
                  2001:4998:124:1507::f000
                  2001:4998:124:1507::f001
                  2001:4998:44:3507::8000
                  74.6.143.26
                  98.137.11.164

12.检查PTR记录

通过执行反向DNS查询,可以验证某个IP地址是否分配给任何域名。为了能够完成这一点,需要查看用于将名链接到IP地址的PTR记录。为了做到这一点,需要重新排列IP地址,使其处于相反的顺序。例如,“185.136.96.96”更改为“96.96.136.185”。此外,考虑到它存储在arpa的顶级域中,需要在IP地址末尾添加in-addr.arpa。

nslookup -type-ptr 96.96.136.185.in-addr.arpa

输出:

Server: 8.8.8.8
Address: 8.8.8.8#53

Non-authoritative answer:
96.96.136.185.in-addr.arpa      name = pns21.cloudns.net.

感谢您阅读本文《如何在Windows上使用NSLookup命令(示例)》。我们现在将结束。

《如何在Windows上使用NSLookup命令(示例)》结论

在这篇文章中,我展示了如何使用nslookupWindows命令的各种实例。nslookup命令是一个很好的工具,用于故障排除和验证DNS记录。许多网络问题通常与DNS有关,因此知道如何快速验证DNS是否正常工作可以节省大量时间。在Windows的命令提示符中使用nslookup非常简单。

对于你们中的更懂技术的读者,nslookup命令也可以用于测试DNS服务器。nslookup 命令包括许多用于测试名称解析的高级选项,以及用于增强调试的详细调试模式。本教程应该为您提供足够的了解如何使用命令的知识。

然而,关键是要记住,对于没有专用IP地址的网站,每次运行此命令的结果可能会有所不同。

Source:
https://infrasos.com/how-to-use-nslookup-command-on-windows-examples/