Python DNS查找

Python DNS查找

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

1. 查找“ A”记录

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

import dnspython as dns
import dns.resolver

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

运行上面示例代码,得到以下结果:

('IP', u'112.124.103.85')

2. 查找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.

3. 查找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.

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