查询 DNS 记录

众所周知,DNS 记录通常用于将人类可读的地址转换为 IP 地址。这意味着您无需通过输入 IP 地址来访问网站,而只需输入易于记忆的 DNS 地址即可。我不会在这里过多讨论 DNS 记录的工作原理,但是如果您想了解更多信息,那么您可以阅读令人敬畏且易于理解的 DNS 是如何工作的 commic。

在这篇文章中,我将研究不同的工具,这些工具可用于查找有关 DNS 记录的更多信息,以及它们返回的结果类型。我不会详细介绍这些工具,但足以让您开始查找 DNS 记录。

谁是

一段时间以来,我主要依靠使用whois工具来查找有关 DNS 地址的更多信息,所以我想我会先谈谈它。这主要是有效的并产生了有效的结果,但是当我真正坐下来找到适合这项工作的工具时,我发现whois真的不适合那种任务。该域名注册命令有它的DNS工具套件的地方,但它确实是适合找出有关地址背后的组织,而不是对DNS记录本身的更多信息。该工具通常默认安装在大多数平台上(甚至 Windows),但您可能必须在某些 Linux 系统上单独安装它('sudo apt-get install whois' 应该足以用于 Debian 构建)。还有大量的在线whois工具可用,因此找到一个可以运行的工具并不困难。

运行whois查询的过程非常简单,但需要注意一两件事。在命令行中,您可以键入此命令以获取有关域名的信息。

whois domain.tld

这将返回有关地址所有者的大量输出,但通常不会有太多其他内容。这在很大程度上取决于运行顶级域 (TLD) 的组织,在 .co.uk 域的情况下是 Nominet。您可能会注意到,虽然我们现在知道 DNS 名称服务器的 IP 地址,但我们仍然不清楚网站的托管位置。凡域名注册开始出现故障时,您正在寻找有关DNS记录本身,而不是注册人信息。这是针对域 bbc.co.uk运行whois的示例。

$ whois bbc.co.uk

 

    Domain name:

        bbc.co.uk

 

    Registrant:

        British Broadcasting Corporation

 

    Registrant type:

        UK Corporation by Royal Charter

 

    Registrant's address:

        British Broadcasting Corporation

        Broadcasting House

        Portland Place

        London

        W1A 1AA

        United Kingdom

 

    Data validation:

        Nominet was able to match the registrant's name and address against a 3rd party data source on 12-Jun-2014

 

    Registrar:

        British Broadcasting Corporation [Tag = BBC]

        URL: http://www.bbc.co.uk

 

    Relevant dates:

        Registered on: before Aug-1996

        Expiry date:  13-Dec-2016

        Last updated:  12-Nov-2015

 

    Registration status:

        Registered until expiry date.

 

    Name servers:

        ns3.bbc.co.uk             156.154.66.17  2610:a1:1015::17

        ns3.bbc.net.uk

        ns4.bbc.co.uk             156.154.67.17  2001:502:4612::17

        ns4.bbc.net.uk

 

    WHOIS lookup made at 21:14:50 16-Nov-2015

 

--

This WHOIS information is provided for free by Nominet UK the central registry

for .uk domain names. This information and the .uk WHOIS are:

 

    Copyright Nominet UK 1996 - 2015.

 

You may not access the .uk WHOIS or use any data from it except as permitted

by the terms of use available in full at http://www.nominet.uk/whoisterms,

which includes restrictions on: (A) use of the data for advertising, or its

repackaging, recompilation, redistribution or reuse (B) obscuring, removing

or hiding any or all of this notice and (C) exceeding query rate or volume

limits. The data is provided on an 'as-is' basis and may lag behind the

register. Access may be withdrawn or restricted at any time.

当开始使用whois进行 DNS 查找时,您可能已经输入了整个地址(即包括开头的 www)并遇到错误。这是因为该地址并未仅转换为域名,因此会根据 Nominet .co.uk 数据库查询域“www.bbc”。如果您过去使用过whois,那么您可能至少见过一次这样的错误消息。

$ whois www.bbc.co.uk

 

    Error for "www.bbc.co.uk".

 

    This domain cannot be registered because it contravenes the Nominet UK

    naming rules.  The reason is:

      the domain name contains too many parts.

 

    WHOIS lookup made at 21:15:16 16-Nov-2015

 

--

This WHOIS information is provided for free by Nominet UK the central registry

for .uk domain names. This information and the .uk WHOIS are:

 

    Copyright Nominet UK 1996 - 2015.

 

You may not access the .uk WHOIS or use any data from it except as permitted

by the terms of use available in full at http://www.nominet.uk/whoisterms,

which includes restrictions on: (A) use of the data for advertising, or its

repackaging, recompilation, redistribution or reuse (B) obscuring, removing

or hiding any or all of this notice and (C) exceeding query rate or volume

limits. The data is provided on an 'as-is' basis and may lag behind the

register. Access may be withdrawn or restricted at any time.

出于这个原因,输入正确的域名地址很重要,不存在任何子域字符串。

主持人

顾名思义,host是一个用于执行 DNS 查找的简单实用程序,通常用于将域名转换为 IP 地址,反之亦然。默认情况下,主机命令将返回为特定地址找到的 DNS 记录的顶行细分,该地址通常转换为 Web 主机。当我第一次开始寻找除了通常的whois查询之外的其他工具时,我很快就发现了有关主机的信息,并没有回头。该工具可能是最简单的 DNS 查找工具,因为默认情况下它只是打印出 DNS 条目的地址,其他的很少。该工具可在大多数 Linux 平台(包括 OSX)上使用,但如果不存在,安装也很简单。主持人 使用方式如下。

host domain.tld

以下是使用主机查找有关 DNS 地址 www.bbc.co.uk 的更多信息的示例。

$ host www.bbc.co.uk

www.bbc.co.uk is an alias for www.bbc.net.uk.

www.bbc.net.uk has address 212.58.244.71

www.bbc.net.uk has address 212.58.244.70

您还可以使用 -a 标志让主机返回 DNS 查询的整个结果。

$ host -a www.bbc.co.uk

Trying "www.bbc.co.uk"

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39383

;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

 

;; QUESTION SECTION:

;www.bbc.co.uk. IN ANY

 

;; ANSWER SECTION:

www.bbc.co.uk. 211 IN CNAME www.bbc.net.uk.

 

Received 57 bytes from 192.168.1.254#53 in 34 ms

上面的响应显示了发送到 DNS 服务器的查询,然后是查询的答案(在 ANSWER SECTION 文本下)。这表明地址 www.bbc.co.uk 实际上是地址 www.bbc.net.uk 的 CNAME,通过进行另一次 DNS 查找,我们可以找到根 IP 地址。基本主机命令还会探测此地址以查找主机的根 IP 地址。地址后面的数字(在本例中为 211)是地址的生存时间(或 TTL)。

正如我上面提到的,您还可以使用主机来查找有关 IP 地址的更多信息,只需将 DNS 地址替换为 IP 地址即可。在这里,我们将上述 Web 服务器之一转换为 DNS 地址。

$ host 212.58.244.71

71.244.58.212.in-addr.arpa domain name pointer bbc-vip116.telhc.bbc.co.uk.

dig或(域信息搜索器)是另一个可用于查询 DNS 名称服务器的实用程序。这更像是一种网络管理工具,可用于直接查询 DNS 服务器,并没有太多细节。默认dig命令的工作方式与带有 -a 标志的主机命令大致相同。该工具是 Debian 构建上的 dnsutils 包的一部分,也是 Redhat 平台上 bind-utils 包的一部分。可以通过以下方式使用dig

dig domain.tld

这是针对地址 www.bbc.co.uk 运行的正常 dig 查询。

$ dig www.bbc.co.uk

 

; <<>> DiG 9.8.3-P1 <<>> www.bbc.co.uk

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64114

;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

 

;; QUESTION SECTION:

;www.bbc.co.uk. IN A

 

;; ANSWER SECTION:

www.bbc.co.uk. 44 IN CNAME www.bbc.net.uk.

www.bbc.net.uk. 56 IN A 212.58.244.70

www.bbc.net.uk. 56 IN A 212.58.244.71

 

;; Query time: 110 msec

;; SERVER: 192.168.1.254#53(192.168.1.254)

;; WHEN: Sun Nov 22 18:56:03 2015

;; MSG SIZE  rcvd: 89

dig 命令的输出最初看起来可能很复杂,但它实际上只是对 DNS 服务器的查询、收到的答案以及一些附加查询统计信息的图片。如上所示,该工具还会跟踪任何 CNAME 记录到其最终 IP 地址,这意味着我们无需进一步调查 DNS 记录即可找到该信息。因此,该工具是主机的一个很好的替代品,但默认会产生复杂的输出。

nslookup

nslookup是一个可以用来查询 Internet 域名服务器的程序。这个工具的好处是它在几乎所有操作系统上都普遍可用,因此它通常被 Windows 管理员使用。该工具是 Debian 构建上的 dnsutils 包的一部分,也是 Redhat 平台上 bind-utils 包的一部分。nslookup可以通过以下方式使用。

nslookup domain.tld

这是在 DNS 地址 www.bbc.co.uk 上运行 nslookup 的示例。

$ nslookup www.bbc.co.uk

Server: 192.168.1.254

Address: 192.168.1.254#53

 

Non-authoritative answer:

www.bbc.co.uk canonical name = www.bbc.net.uk.

Name: www.bbc.net.uk

Address: 212.58.244.26

Name: www.bbc.net.uk

Address: 212.58.244.27

此响应中的第一件事是我的无线路由器的地址 (192.168.1.254),这是请求路由的地址(因此得名)。此处的其余输出描述了一个事实,即 www.bbc.co.uk 地址是一个 CNAME,它指向两个 www.bbc.net.uk 主机。运行nslookup时要小心,你还包括一些参数,因为它会让你进入交互模式。总的来说,这不是一件坏事,但对于不习惯该工具的人来说,这可能会有点意外。

从所有这些工具中,我们可以看到 BBC 为其网站运行某种形式的负载平衡解决方案,这是有道理的,因为我确信它处理大量流量。

全球 DNS 传播

所有这些工具都适用于从一个地方检查 DNS 记录,但 DNS 地址有一个被缓存到世界各地的习惯。这实际上意味着,当您更新 DNS 记录时,世界上的每个人可能最多需要一天时间才能看到该更改。这称为全局传播。有一些方法可以解决这个问题,例如降低 DNS 条目的生存时间 (TTL) 值,以便将其缓存的时间更短,从而可以更快地更新 DNS 记录。

测试此全局的一种方法是运行来自世界不同地区的 DNS 查询。对于我们大多数人来说,这是不可行的,但是像 whatsmydns 这样的网站允许您查看来自世界各地多个名称服务器的 DNS 记录。whatsmydns 站点使我能够检查 DNS 更改时的全球 DNS 传播并管理客户期望。

查找其他子域

我们知道 BBC 有一个 www 子域,因为我们已经在上面进行了测试,但是我们如何找到 DNS 条目的所有子域?这里的简短回答是你不能,除非你被授权这样做。如果您拥有 DNS 服务器,那么您可以制作将返回所有子域的 DNS 查询,但没有此授权,这是不可能的。

不过有一个替代方案。通过向 Wolfram Alpha 询问域,我们可以找出是否存在任何其他子域。这些子域是公共域,但这正是我们真正要寻找的。要在 Wolfram Alpha 上搜索子域,请执行以下操作。

  • 访问 Wolfram Alpha 并搜索相关域。在我们的示例中,我们搜索 www.bbc.co.uk。

  • 在所有 bbc.co.uk的网络统计标题下:单击链接子域

  • 您现在将看到 bbc.co.uk 域的子域列表。这包括 news.bbc.co.uk 和 play.bbc.co.uk

DNS 监控

出于某种原因,我看到 DNS 问题有所增加,导致我管理的站点停机。这可能很简单,比如 DNS 条目配置错误,但我也看到 DNS 服务完全不可用。无论哪种方式,DNS 记录对于站点的可用性如此重要这一事实意味着快速发现问题至关重要。在对 DNS 记录进行故障排除和调查时,我上面提到的工具很重要,但您需要使用某种形式的监控工具以及这些工具。pingdom 工具不仅会监控您的网络主机,还会监控您的 DNS 记录。这样,您可以轻松地发现问题并朝着正确的方向前进以纠正它们。有了 pingdom,就可以很容易地立即正确地看到问题所在,并采取行动来解决它,

以上是 查询 DNS 记录 的全部内容, 来源链接: utcz.com/z/341364.html

回到顶部