使用dnspython模块反向DNS查找

时间:2018-03-06 00:45:44

标签: python

如何针对给定IP执行反向DNS查找?

nslookup google.com为我解析为172.217.3.46。 但是当我使用dnspython模块时,

import dns.resolver
import dns.reversename

qname = dns.reversename.from_address('172.217.3.46')
answer = dns.resolver.query(qname, 'PTR')
for rr in answer:
    print(rr)

>> iad23s57-in-f14.1e100.net.
>> iad23s57-in-f46.1e100.net.

我获得了不同的DNS名称。在这种情况下如何获得google.com?

1 个答案:

答案 0 :(得分:0)

你的结果是正确的。您要查询的主机的反向IP不指向您开始使用的转发名称。无法保证存在反向PTR,或者如果存在反向PTR,则可以像预期的那样往返。

一种常见的情况是HTTP多宿主。 Web服务器可以托管多个域;大型网站托管网站通常在他们拥有的每个IP地址上托管数百个域。任何随机网络主机的反向DNS在统计上可能类似于webhotel2345.hosting.example.com.,而不是托管在那里的任何域的名称(但有时他们只是为他们在那里托管的第一个或第一个客户端设置反向DNS)谁抱怨他们也想要反向DNS检查。

某些邮件服务器设置为拒绝来自主机的连接,这些主机的反向DNS不会作为(非常间接的)反垃圾邮件措施进行往返,但这具有相当高的误报率,并且被认为具有攻击性。 / p>