python操作dns---dnspython模块

一.简介以及安装


 

【介绍】

dnspython的官网:https://www.dnspython.org/

dnspython是python实现的一个DNS工具包,它几乎支持所有的记录类型,可以用于查询、传输并动态更新zone信息。

【安装】

pip  install dnspython


 

二.dnspython解析方法详解


 

dnspython提供了大量的DNS的处理方法,最常用的方法是域名查询:

1)A记录:将主机名转换为IP地址

import dns.resolver
domain="taobao.com"
A=dns.resolver.resolve(domain,"A")
for a in A.response.answer:
for aa in a.items:
print(aa.address)

 

 

2) MX记录:邮件交换记录,定义邮件服务器的域名

domain="qq.com"
MX=dns.resolver.resolve(domain,"MX")
for mx in MX:
print(mx)
#mx.preference代表邮件交换记录,mx.exchange代表邮件服务器域名
print(mx.preference,mx.exchange)

 

 

3)CNAME记录:指别名记录,实现域名间的映射

 

domain="12306.com"
CNAME=dns.resolver.resolve(domain,"CNAME")#子域名
#域名之间的调转,有的服务器能够查询,有的服务器禁止查询
for cname in CNAME.response.answer:
for c in cname.items:
print(c.to_text())

 

4)NS记录:标记区域的域名服务器及授权子域

 

domain="baidu.com"
NS=dns.resolver.resolve(domain,"NS")#子域名
for ns in NS.response.answer:
for n in ns.items:
print(n.to_text())

5)PTR记录:反向解析,与A记录相反,将IP转换为主机名

6)SOA记录:SOA标记,一个起始授权区的定义

posted @ 2021-04-05 16:41  小珊子  阅读(1422)  评论(0编辑  收藏  举报