要了解你的网络运行情况,你需要能够执行 DNS 查询。最好的方式是使用网络管理工具 NsLookup。这个命令行工具可以帮助你更好地理解网络问题并解决它们。
使用 NsLookup 进行 DNS 查询有两种主要方法。第一种是在你的计算机上本地使用,第二种是在线使用 NsLookup。在这篇博客文章中,我们将讨论这两种方法,并为你介绍 8 个有用的 NsLookup 命令用例.
DNS 如何工作?
要真正理解 NsLookup,我们首先应该了解 DNS 及其实际作用。DNS 是 域名系统的缩写。互联网上的每个网站都有一个数字 IP 地址。但你不是通过在浏览器地址栏中手动输入 IP 地址来访问网站的。你输入网站的域名,DNS 会将域名映射到 IP 地址。没有 DNS 的帮助,用户无法打开网站。加载网页时,四个不同的 DNS 服务器协同工作以获取相应的 IP 地址。 DNS recursor, Root nameserver, TLD nameserver, and Authoritative nameserver。这四种 DNS 类型各负责整个过程中的一个步骤。例如,DNS 递归器尝试使用已有的缓存数据查找有关域名的信息。如果找不到所需信息,它会将请求传递给根名称服务器。请求交接的过程会一直进行,直到 DNS 找到相关的 IP 地址。
What Is NsLookup?
NsLookup(名称服务器查询)是一个命令行工具,可以帮助你排查网络问题。
你可以使用 NsLookup 通过输入域名来获取网站的 IP 地址,反之亦然。这种类型的 DNS 查询称为 A 记录,它不是你可以用 NsLookup 进行的唯一查询。你还可以请求 AAAA 记录或四 A 记录。在第一种情况下,当你要求 NsLookup 提供域名的 IP 地址时,它会返回相应的 IPv4 地址。不过,互联网正在逐步转向使用 IPv6。因此,你需要能够获取域名对应的 IPv6 地址。AAAA 记录使用 NsLookup IPv6 命令来满足第二种 IP 请求。至于第三种可以从 NsLookup 获取的 DNS 记录示例,我们有 SOA 记录,它提供有关 DNS 区域的有用信息和详细数据。通过 NsLookup 可以获取许多 DNS 记录,每一种都有特定的命令。这些只是几个常见的示例,用来让你熟悉 NsLookup 的潜力。我们将在后续章节中评测更多 NsLookup 命令的功能。
这个工具很可能你的 Linux 或 Windows 计算机上已经有了。不过根据 Microsoft 的说法,只有在你安装了 TCP/IP 协议的情况下,才能使用 NsLookup 命令行工具。
为什么你应该学会使用 NsLookup?
你可能在想,我又不是网络或服务器管理员,为什么非要学会使用 NsLookup 命令呢?其实有两个主要原因让你最好掌握如何使用 NsLookup。
使用 NsLookup 排查服务器连接问题
假设你的服务器连接出现了问题。使用 NsLookup 命令,你可以高效快速地排查连接问题并解决它。
安全防护
许多钓鱼攻击都涉及对可信任网站域名的微小篡改。因此,用户可能在那个网站上进行购买或输入信息,却没有意识到它根本不是原始网站。这不是你可以用 NsLookup 防止的唯一攻击。在 DNS 缓存中毒攻击中,黑客可以将数据流量路由到另一个服务器。这样,用户可能会被引向潜在危险的网站。通过了解正确类型的 NsLookup 命令、DNS 记录及其对应活动,你可以识别出它何时被滥用。
掌握一些有用的 NsLookup 命令和 CMD DNS 命令可以帮助你扩展技术能力。下次遇到服务器问题时,你可以自己动手解决。
Windows 上最常用的 NsLookup DNS 命令
既然你已经了解了什么是 NsLookup,让我们来看看 Windows 上 6 个最常用的 NsLookup DNS 命令及其用途。
1. 获取域名的 A 记录
As explained earlier, the A record query is for NsLookup IP check. To use this CMD DNS command on windows, first open your command prompt by pressing Windows+R, typing “cmd,” and clicking Ok. This step is the same for all commands on Windows. Then type “NsLookup” and hit Enter. As a result, you’ll see your default server and your IP address.
然后输入网站的域名,就会得到 IP 地址。这里显示的是非权威答案。这是什么意思?这说明我们的查询结果来自非权威来源。

2. 检查域名的 NS 记录
DNS 命令可以查询域名的权威名称服务器。权威服务器是 DNS 区域的权威机构。要查找域名的 NS 信息,可以使用此命令:
set q=ns www.example.com

3. 获取域名的 SOA 记录
另一个有用的 CMD DNS 命令是 SOA 记录命令。获取域名的 SOA 记录相当简单,与上一个 DNS 命令类似。唯一的区别是将查询类型设置为soa” instead of “ns”.
下面是命令的样子:
set q=soa www.example.com
4. 启用调试模式
您可以使用以下 DNS 命令获取关于域名的更多信息:
set debug www.example.com
这个命令让你进入调试模式。调试模式会显示发送到服务器的数据包信息。

5. Finding MX Records
MX 记录(邮件交换记录)告诉你哪个邮件服务器负责接收邮件。
使用以下 DNS 命令获取 MX 记录:
set q=mx domain name

6. 检查反向查询 DNS
当你已知 IP 地址,想要找到对应的域名时,这个命令就派上用场了。使用以下命令来执行反向 NsLookup:
nslookup 'IP address'

Linux 上最常用的 NsLookup 命令
现在,让我们在 Linux 服务器上尝试所有这些命令。
1. 获取域名的 A 记录
要获取 Linux 上域名的 A 记录,打开终端并输入以下命令:
nslookup example.com

2. 检查域名的 NS 记录
这是在 Linux 上查询域名 DNS 记录所需的 nslookup 命令:
nslookup -type=ns example.com

3. 获取域名的 SOA 记录
使用以下 nslookup 命令获取某个域名的 SOA 记录:
nslookup -type=soa example.com
4. 启用调试模式
使用此 nslookup 命令在 Linux 上启用调试模式:
nslookup -debug example.com

5. Finding MX Records
使用以下 nslookup 命令可以查找 MX 记录:
nslookup -query=mx example.com

6. 检查反向查询 DNS
就像查询域名的 A 记录一样,输入 nslookup 后跟 IP 地址即可获得反向 DNS 查询结果:
nslookup 11.11.11.11

NsLookup 在线工具
除了命令行,你还可以用网页工具查询域名服务器。只需在在线工具的搜索框中输入域名,就能获得全面的 DNS 记录。在线 NsLookup 工具涵盖了命令行几乎所有的查询功能。以下是三个在线 NsLookup 工具的例子。
To Recap
每次用户打开网站时,DNS 会查找 IP 地址,让你能够访问该网站。要更深入了解你的 DNS 配置并解决相关问题,可以使用 NsLookup。NsLookup 是一个命令行工具,能提供关于名称服务器的详细信息。你可以用它来排查服务器连接问题、解决 DNS 配置问题,或增强浏览安全性。本文介绍了一些在 Windows 和 Linux 上都能用到的 NsLookup 命令。
FAQ
NsLookup 和 Ping 有什么区别吗?
将域名转换为IP地址时,这两个工具会给出相同的答案。但它们的工作原理不同。需要注意的是,ping通常用于检查IP连接,而不是用于诊断和排查DNS问题。
我可以在 NsLookup 中使用 IP 地址吗?
可以,NsLookup 可以用来查询 IP 地址对应的域名。通过反向 NsLookup,你可以获得该 IP 地址的权威域名。
DNS 查询能告诉你什么?
DNS 查询可以将域名转换为 IP 地址,或反向查询。它还会显示 DNS 区域的相关信息,比如该区域的主名称服务器。
如何显示 IPv6 名称服务信息?
To display IPv6 name service information using nslookup, open a command prompt or terminal and enter “nslookup -query=AAAA example.com”, replacing “example.com” with the domain you’re querying. This command queries the DNS for the domain’s AAAA record, which contains its IPv6 address.
A 记录和 AAAA 记录有什么区别?
A 记录和 AAAA 记录都是将域名链接到 IP 地址的 DNS 记录,但它们支持不同版本的互联网协议。A 记录将域名映射到 32 位 IPv4 地址,这是传统的互联网地址格式。而 AAAA 记录则将域名链接到 128 位 IPv6 地址,以应对互联网设备指数级增长带来的 IP 地址需求。