Python DNS 查找


IP 地址在翻译成人类可读的格式或文字后被称为域名。域名到IP的翻译 地址由 python 模块管理 dnspython .该模块还提供了查找CNAME和MX记录的方法。

寻找“A”记录


在下面的程序中,我们使用 dns.resolver 方法找到域的 IP 地址。通常IP地址和域名之间的这种映射也称为 '一个记录。

import dnspython as dns
import dns.resolver

result = dns.resolver.query('newbiego.com', 'A')
for ipval in result:
    print('IP', ipval.to_text())

当我们运行上面的程序时,我们得到如下输出:

('IP', u'94.130.81.180')

查找 CNAME 值


CNAME 记录也称为规范名称记录,是域名系统 (DNS) 中的一种记录,用于将域名映射为另一个域的别名。 CNAME 记录总是指向另一个域名,而不是直接指向 IP 地址。在下面的查询方法中我们指定 CNAME 参数来获取 CNAME 值。

import dnspython as dns
import dns.resolver
result = dns.resolver.query('mail.google.com', 'CNAME')
for cnameval in result:
    print ' cname target address:', cnameval.target

当我们运行上面的程序时,我们得到如下输出:

cname target address: googlemail.l.google.com.

查找 MX 记录


MX 记录也称为邮件交换器记录,是域名系统中的资源记录,它指定负责代表收件人域接受电子邮件的邮件服务器。如果有多个邮件服务器可用,它还设置用于优先发送邮件的首选项值。与上述程序类似 我们可以使用查询方法中的“MX”参数找到 MX 记录的值。

result = dns.resolver.query('mail.google.com', 'MX')
for exdata in result:
    print ' MX Record:', exdata.exchange.text()

当我们运行上面的程序时,我们得到如下输出:

MX Record:	ASPMX.L.GOOGLE.COM.
MX Record:	ALT1.ASPMX.L.GOOGLE.COM.
MX Record:	ALT2.ASPMX.L.GOOGLE.COM.

以上是一个示例输出,而不是确切的输出。