DNS Trust Manager 04-18-2023

Windows的DNS命令

DigiCert
DNS Commands for Windows

从简单配置到复杂配置,总有需要检查DNS的情况。幸运的是,计算机中有一个内置实用程序可以帮助您开展这项工作。这一资源介绍了Windows命令提示符和PowerShell中有用的命令。它还介绍了两个Shell之间的区别。准备就绪? 您当然已经准备就绪,因为您就是为了了解这些才来阅读这篇文章的,对吧? 哦,我在跟谁开玩笑? 您也可能跳过了这部分,直接去看命令了。也行。那样也可以。

注意:所有示例都来自于运行Windows 10的系统。

Windows命令提示符对比Windows PowerShell

Windows于1981年为微软操作系统引入了其最初的命令提示符(CMD)。此程序在Windows“之下”运行,能让您更好地控制系统。CMD在一个显示提示的简洁的黑色窗口中运行。根据您的计算机的情况,提示应显示如下:C:\> or C:\Users\example. 使用此工具,您可以运行单行命令。

PowerShell于2006年首次在Windows中发布。PowerShell在蓝色窗口中运行,并使用Command-lets(cmdlet)而不是CMD或MS Dos命令。它具有脚本系统、内置管理功能,并且可以运行批处理命令。这意味着您可以完成一系列cmdlet,而不是一次只能完成一个命令。与命令提示符不同,PowerShell不仅限于控制台程序。当前版本在.Net 5.0上运行,它支持Linux和macOS。PowerShell还可以跨各种系统访问多个库。

如何访问Windows命令提示符

有几种方法可以启动Windows命令提示符。一种方法是点击任务栏中的搜索图标,然后键入“命令提示符”或“cmd”。这应该会将此应用程序置于搜索窗口顶部,在“最佳匹配”之下。

如果您像我一样喜欢键盘快捷键,你可以按Win+R调出“运行”命令。键入cmd,然后点击确定。太棒了,您已进入!

访问Windows PowerShell

您可以使用与访问Windows命令提示符完全相同的方式来访问PowerShell。您可以在“搜索”或“运行命令”窗口中键入PowerShell,而不是键入cmd。使用搜索选项和之前有所不同。如果您选择搜索路线,您将看到Windows PowerShell和PowerShell ISE的选项。在这一资源中,我将使用基本的Windows PowerShell。

或者,您可以按Win+X,这将调出一个新菜单。这能让您选择以管理员身份访问PowerShell。此菜单还包括“运行”和其他几个Windows实用程序。

您知道吗?:PowerShell ISE是PowerShell的主机应用程序。ISE代表集成脚本环境。此选项提供了一个接口,而标准PowerShell看起来更像命令提示符。

DNS的Windows命令提示符命令

现在来看真正的好东西!以下是几个Windows CMD命令,可帮助您排除故障或验证DNS。请不要担心。我很有想象力。我会假装您没有跳过我上面所有的努力直接来这里。

Nslookup

Nslookup命令有助于诊断DNS名称解析问题。此命令与Mac或Linux的dig功能相当。它可以查找主机的IP地址或执行反向DNS查找(以查找IP的域名)。Nslookup还可以为您的域名提供DNS记录信息。

Nslookup命令如下所示:C:\Users\username>nslookup dnsmadeeasy.com

在这个例子中,我对DNS Made Easy的IP地址做了简单请求。作为响应,我收到了此域名的IPv6和IPv4地址。它之所以显示“非权威答案”,是因为我在使用递归服务器进行查询。

反向DNS查找

如果您有一个IP地址并且需要域名,您可以进行反向DNS查找。这与上面的例子相同,只是——您猜对了——是反向的:

C:\Users\username>nslookup 162.243.68.201

Set命令

假设您想查找域名的名称服务器或在命令行中设置特定参数。那么您可以使用Windows set命令。示例如下:

C:\Users\username>nslookup

>set q=ns

>dnsmadeeasy.com

(在每个命令后按enter键)

结果应该是这样的:

DNS记录查找

您还可以使用nslookup和set命令来验证或排除域名的DNS记录故障。这一流程与上述示例相同,但这次您需要指定要查询的记录。您可以快速解决从这些信息中发现的任何错误或问题。在下面的屏幕截图中,我执行了MX、PTR和SOA记录的查找,当然,您的查询不限于这些记录。

C:\Users\username>nslookup

>set q=mx

>dnsmadeeasy.com

(在每个命令后按enter键)

提示:如果您要检查多种记录类型,那么您不需要为每种记录类型键入“nslookup”。在初始nslookup命令之后,您可以为每条记录运行set命令。即使您开始验证另一个域名的记录,这也适用。

DNS记录命令结果-定义

  • Responsible mail addr—— 代表域名管理员的电子邮件
  • Serial—— 这是区域文件的序列号
  • Refresh—— 如果主服务器的序列号已更改,辅助DNS服务器请求新信息所需的时间
  • Retry—— 如果主服务器没有响应请求,它将在此时间范围内重新连接
  • Expire—— 辅助DNS缓存过期时间
  • Default TTL—— 指记录在被刷新之前的缓存时间

提示:在执行命令之前清除DNS缓存可能会有所帮助。要清除DNS缓存,请键入:ipconfig/flushdns,然后按enter键。现在缓存应该已经被清除。

DNS Debug命令

要获取有关域名DNS的其他详细信息,可以使用debug命令。这将提供DNS服务器请求的标头信息(见下面的屏幕截图)。

C:\Users\username>nslookup

>set debug

>example.com

Ping命令

对于网络诊断,您可以在CMD中运行ping命令。Ping用于测量目标位置的连接延迟。作为演示,我将使用Google的公共DNS地址8.8.8.8运行ping测试。

C:\Users\username>Ping 8.8.8.8

现在您已获取从被ping服务器获得响应所需的往返时间。

Traceroute命令

用于网络诊断的另一个有用命令是traceroute命令。Traceroute命令跟踪数据包从起点到目的地的路径。这对于解决连接问题特别方便。在下图中,我将对域名www.example.com及其IP地址进行路由跟踪。

C:\Users\username>tracert 127.0.0.1

C:\Users\username>tracert www.example.com

此命令的作用是验证数据包到达目的地的路由。列出的不同停留点也称为跃点。除了跃点的数量,您还可以看到查询解析时间。这些信息可以帮助您提高DNS速度或识别有问题的路由器。

提示:命令提示符保存最近命令的历史记录。如果您需要查看会话中更早输入的命令,只需按向上箭头键即可滚动浏览。请查看以下Gif,以获得其工作原理的示例。

Windows PowerShell的DNS命令

如果Windows PowerShell是您的首选实用程序,那么本节内容适用于您。这些是上述Windows命令的PowerShell等效命令:

Nslookup——PowerShell中的Resolve-DnsName

PowerShell中的Nslookup=Resolve-DnsName

PS C:\Users\username>Resolve-DnsName dnsmadeeasy.com (or C:\Users\username>Resolve-DnsName 162.243.68.201)

提示:为了在PowerShell中节省时间,请键入cmdlet的前几个字母,然后按tab键自动填充其余字母。例如,如果您键入“reso”,然后点击tab(reso+tab),那么PowerShell将填充Resolve DnsName。这与Test-Connection等其他cmdlet的工作原理相同。首先键入“test-con”,然后点击tab填充Test-Connection等。

Windows PowerShell中的DNS记录查找

PowerShell使用其Resolve-DnsName cmdlet进行记录查找。若要指定记录,您必须添加“-type”以完成cmdlet。

PS C:\Users\username>Resolve-DnsName dnsmadeeasy.com -Type MX (或您选择的任何记录)。

请注意,当我输入-Type或-type时,cmdlet的运行完全相同,因此这里不区分大小写

PowerShell中的Ping命令

PowerShell中的Ping=Test-Connection

PS C:\Users\username>Test-Connection dnsmadeeasy.com

结果看起来不一样,但您仍然可以看到源(计算机名称)和跃点,以及接收响应所使用的时间。

PowerShell中的Traceroute

PowerShell中的Tracert=Tracert——是的,这次cmdlet与CMD命令的名称相同。

PS C:\Users\username>tracert example.com

DNS查找工具

线上资源也非常适用于DNS故障排除。这些工具特别有用,因为可以从任何地方、在任何设备上访问这些工具。例如,Constellix(我们的兄弟公司)的DNS查找工具可以检索DNS记录并根据地理位置进行检查。它还将查询您指定的任何名称服务器。受支持的记录有A、AAAA、CNAME、MX、TXT、NS、SOA和SRV。

使用Constellix的DNS查找工具还有一些其他优势。您可以在同一会话中对不同的域名和/或名称服务器进行检查。结果可以按域名、记录类型、解析器或位置进行筛选,并且您可以扩展或最小化每一检查。您还可以复制结果的URL并将其通过电子邮件发送给您的团队,这既方便又节省了大量时间。

一切尽在Shell中

通过使用上述选项,您可以验证DNS并解决问题。要点:命令提示符、PowerShell和线上DNS工具提供名称服务器、记录说明和其他DNS信息,但它们的操作方式不同。CMD使用单行命令,而PowerShell使用cmdlet并可以运行批处理命令。Constellix的线上DNS查找工具等资源会根据您输入的详细信息运行检查。

当然,这远不是命令提示符或PowerShell的全面指南。两者的功能还要多得多。以下是可帮助您深入理解这两种实用程序的几个链接。

如果您对此感兴趣,以下内容可能会对您有帮助:

Windows CMD命令列表

Nslookup命令

PowerShell Cmdlets列表

介绍Windows PowerShell

UP NEXT
pki

3 Surprising Uses of PKI in Big Companies and How to Ensure They Are all Secure

5 Min