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.
以上是一个示例输出,而不是确切的输出。