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

时间:2018-04-01 12:50:12

标签: python sockets dns network-programming dnspython

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

当我尝试解析" google.co.uk"我只得到一个IP。但是,使用另一个解析器工具,我得到另一个IP。这两个IP都是正确的,我通过将IP放在浏览器中来测试它们,这两个IP都打开了#go; 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]

1 个答案:

答案 0 :(得分:4)

在一般情况下,没有,没有办法知道您何时详尽枚举了特定主机名的所有主动使用的IP地址。谷歌是一个很好的例子;根据您在世界上的位置及其当前负载,它们将返回部分地址,但不是全部地址,以实现负载平衡和类似用途。