【问题标题】:Domain Name When querying DNS server域名查询DNS服务器时
【发布时间】:2011-01-10 21:05:45
【问题描述】:

在向 DNS 服务器查询 IP 地址时,以下哪一项是有效的域名(或主机名)?我想用 Java 编写一个程序来向 DNS 服务器查询给定主机的 IP 地址。

www.google.com
OR 
google.com

【问题讨论】:

  • 使用我的程序,如果我查询以获取 google.com 的“A”记录,则响应中的答案部分具有 IPv4 地址。如果我查询 www.google.com 的“A”记录,我会从 DNS 服务器获得“CNAME”响应。我注意到一个有趣的区别是 www.google.com 有别名。我查询 www.cnn.com 或只是 cnn.com,结果是一样的。 CNN 没有任何别名。

标签: java networking dns


【解决方案1】:

为什么不两个都试试?它们可能具有相同的resource records 集合,它们可能不同,或者一个可能是另一个的别名。实际上它们是不同的:

nickf@gloin:~$ host google.com
google.com has address 72.14.204.99
google.com has address 72.14.204.104
google.com has address 72.14.204.103
google.com has address 72.14.204.147
google.com mail is handled by 100 google.com.s9a1.psmtp.com.
google.com mail is handled by 300 google.com.s9b1.psmtp.com.
google.com mail is handled by 400 google.com.s9b2.psmtp.com.
google.com mail is handled by 200 google.com.s9a2.psmtp.com.

nickf@gloin:~$ host www.google.com
www.google.com is an alias for www.l.google.com.
www.l.google.com has address 72.14.204.147
www.l.google.com has address 72.14.204.103
www.l.google.com has address 72.14.204.99
www.l.google.com has address 72.14.204.104

【讨论】:

  • 使用我的程序,如果我查询以获取 google.com 的“A”记录,则响应中的答案部分具有 IPv4 地址。如果我查询 www.google.com 的“A”记录,我会从 DNS 服务器获得“CNAME”响应。我注意到一个有趣的区别是 www.google.com 有别名。我查询 www.cnn.com 或只是 cnn.com,结果是一样的。 CNN 没有任何别名。
  • 这取决于 DNS 管理员。没有明确的规则。 www 这里可能是域中的主机名,也可能是子域。
【解决方案2】:

google.com == 域 --> 解析到映射到 google.com 的服务器 IP

www.google.com == 子域 --> 解析到映射到 www.google.com 的服务器 IP

如果他们的配置相同,您将得到相同的结果,否则不同。但两者都是正确的。

【讨论】:

    【解决方案3】:

    就 DNS 而言,两者都是有效的主机名。

    【讨论】:

      【解决方案4】:

      它们可能都有效。

      如果要检查google.com、www.google.com、wwwwwww.goo.g.le.com是否有效,最好查询DNS服务器。

      【讨论】:

        猜你喜欢
        • 2013-10-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-19
        相关资源
        最近更新 更多