Python DNS查找

Python DNS查找

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

1. 查找“ A”记录

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

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.yapf.com
# Date : 2020-08-25
import dnspython as dns
 import dns.resolver
 result = dns.resolver.query('yapf.com', 'A')
 for ipval in result:
     print('IP', ipval.to_text())
  
 

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

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.yapf.com
# Date : 2020-08-25
('IP', u'59.110.239.6')
  
 

2. 查找CNAME值

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

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.yapf.com
# Date : 2020-08-25
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
  
 

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

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.yapf.com
# Date : 2020-08-25
cname target address: googlemail.l.google.com.
  
 

3. 查找MX记录

MX记录(也称为邮件交换器记录)是域名系统中的资源记录,它指定负责代表接收者域的电子邮件消息的邮件服务器。如果有多个邮件服务器可用,它还会设置优先级值,该优先级值用于优先安排邮件传递。与上述程序类似,可以在查询方法中使用“MX”参数找到MX记录的值。

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.yapf.com
# Date : 2020-08-25
result = dns.resolver.query('mail.google.com', 'MX')
 for exdata in result:
     print ' MX Record:', exdata.exchange.text()
  
 

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

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.yapf.com
# Date : 2020-08-25
MX Record: ASPMX.L.GOOGLE.COM.
 MX Record: ALT1.ASPMX.L.GOOGLE.COM.
 MX Record: ALT2.ASPMX.L.GOOGLE.COM.
  
 

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

下一节:Python 路由

Python 网络编程

相关文章