python-dnspython模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-dnspython模块相关的知识,希望对你有一定的参考价值。

 dnspython是Python实现的一个DNS工具包,它支持几乎所有的记录类型,可用于查询、传输并动态更新ZONE信息,同时支持TSIG验证信息和EDNS0。在系统管理方面,我们可以利用它的查询功能来实现DNS服务监控及解析结果的校验,可以代替nslookup和dig工具。

 首先安装dnspython模块

技术分享图片

  dnspython模块提供了大量的DNS处理方法,最常用的方法是域名查询。它提供了一个DNS解析器类(resolver),使用这个类的query方法来实现域名的查询功能。query方法的定义:

query(self,qname,rdtype=1,rdclass=1,tcp=False,source=None,raise_on_no_answer=True,source_port=0)

其中,qname参数为查询的域名。rdtype参数用来指定RR资源的类型,常用的类型如下:

1>:A记录,将主机名转换成IP地址

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

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

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

5>:PTR记录,反向解析,与A记录相反,将IP地址转换成主机名

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

rdclass参数用于指定网络类型,可选的值有IN、CH与HS,其中IN为默认。tcp参数用于指定查询是否启用TCP协议,默认为不启用。source与source_port参数作为指定查询源地址与端口,默认值为查询设备IP和0。raise_on_no_answer参数用于指定当查询无应答时是否触发异常,默认为True。

  

  1、A记录的查询方法

技术分享图片

  

  2、MX记录的查询方法

技术分享图片

  

  3、NS记录的查询方法

技术分享图片


  4、CNAME记录的查询方法

技术分享图片



以上是关于python-dnspython模块的主要内容,如果未能解决你的问题,请参考以下文章

python 学习

6. Python 模块

Python模块

Python第十六课(模块3)

python中的模块

python - readline 模块