Python-DNS 查找


IP 地址转换为人类可读的格式或单词后就称为域名。域名到 IP 地址的转换由 python 模块dnspython管理。该模块还提供了查找 CNAME 和 MX 记录的方法。

查找“A”记录

在下面的程序中,我们使用 dns.resolver 方法查找域的 IP 地址。通常,IP 地址和域名之间的映射也称为“A”记录。

import dnspython as dns
import dns.resolver

result = dns.resolver.query('tutorialspoint.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.

以上是输出示例,并非准确的输出。