如何获取域的所有IP?

Den*_*ark 17 networking domain

如何获取域名的所有 IP,例如 www.google.com?

当然, nslookup 和 host 命令会给我一个域的 IP。但是,如果我想要列出该域的所有(或者,至少不仅仅是一两个..)IP,我该怎么办?

whi*_*ark 14

尝试做dig google.com a。对我来说,它显示了 6 个 IPv4 地址的一致列表。

  • 你的期望是错误的。是的,谷歌有数百台服务器,但它们是*后端*。这些 IP 地址中的每一个都真正映射到服务器上,但它们隐藏在 Google 的 DC 中。此外,单个 IP 地址可能映射到世界各地的不同服务器,就像他们的 DNS 服务所做的那样:http://code.google.com/speed/public-dns/faq.html#anycast。 (5认同)
  • -1 对不起,但这根本不正确。`dig imap.googlemail.com a` 只返回一个 IP 地址,我很清楚还有更多的 IP 地址。 (4认同)
  • 是的,...它列出了 6 个 IPv4 地址。但是对于像 google.com 这样的域,我期待数百个结果.. 无论如何。 (3认同)
  • 哦这个。你是对的.. 可能少于数百个 IP。然而,我很确定绑定到该域的 IP 不只 6 个。因为我知道提供相同内容的其他 IP(当然,归 Google 所有)。当然,人们可以争辩说 IP 提供相同的内容,但并未绑定到域。但是这样做没有多大意义(AFAIS)。 (2认同)

jfm*_*ier 5

您可以使用实际的 whois 命令,该命令适用于任何 IP 地址。whois 命令还将返回网络位数 (17) 等信息。由此,您可以确定实际的 IP 地址数量。例如,如果我查询 IP 地址 209.85.135.147,我将得到:

NetRange:   209.85.128.0 - 209.85.255.255
CIDR:       209.85.128.0/17
NetName:    GOOGLE
NetHandle:  NET-209-85-128-0-1
Parent:     NET-209-0-0-0-0
NetType:    Direct Allocation
Run Code Online (Sandbox Code Playgroud)

/17 表示 B 子类网络,可能的地址数量为:

2^(32-17) - 2

或者

2^15 - 2

或者

32,768 - 2

或者

32766 个可能的 IP 地址。-2 是因为第一个地址(网络地址 209.85.128.0)和最后一个地址(广播地址)(209.85.255.255),这两个地址都不能用于指向主机。

当然,这是针对 IPv4 地址的。

当您使用 google.com 等域名时,whois 会返回不同的信息。最后,请记住,返回的主机名 IP 可能取决于您实际所在的国家/地区。

从加拿大渥太华查询时,主机 google.com 将返回单个 IP 地址。

$ host google.com
google.com has address 173.194.32.104
google.com mail is handled by 100 google.com.s9a1.psmtp.com.
google.com mail is handled by 200 google.com.s9a2.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.
$
Run Code Online (Sandbox Code Playgroud)

  • 但如果没有更复杂的检查,您无法判断该范围内的所有 IP 地址是否都被该域使用,即使如此,也可能有更多范围与该域关联 (2认同)

Pul*_*lse 0

你可以试试robtex,它非常全面。