如何使用 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 和类似目的。
我使用 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 和类似目的。