如何使用 dnspython 查询域的所有 IP

How can I query all IPs for a domain using dnspython

我使用 dnspython 查询 DNS 服务器以将域名解析为其 IP。

当我尝试解析 "google.co.uk" 时,我只得到一个 IP。但是,使用另一个解析器工具我得到了另一个 IP。两个 IP 都是正确的,我通过将 IP 放在浏览器中来测试它们,都打开 "google.co.uk"。

很明显,我正在测试的域名分配了多个 IP。有什么方法可以在 dnspython 中使用来检索给定域名的所有 IP?

这是我的简单脚本:

import dns.resolver

def resolve(domain):
  resolveList = []
      resolver = dns.resolver.Resolver(); #create a new instance named Resolver
      answer = resolver.query(domain,"A");
      y=0
      for rData in answer: 
          resolveList.append(rData)
          ++y        
  return resolveList

domainName = "google.co.uk"
queryResult = resolve(domainName);
for result in queryResult:
    print queryResult[0]

在一般情况下,不,没有办法知道您何时为特定主机名详尽列举了所有正在使用的 IP 地址。 Google 就是一个很好的例子;根据您在世界上的位置和他们当前的负载,他们将 return 部分(但不是全部)他们的地址,用于 load-balancing 和类似目的。