初步了解:
DnsPython是Python实现的一个DNS工具包,支持几乎所有的记录类型。
安装:
- # wget http://www.dnspython.org/kits/1.9.4/dnspython-1.9.4.tar.gz
- # tar -zxvf dnspython-1.9.4.tar.gz
- # cd dnspython-1.9.4
- # python setup.py install
简单使用:
在很多书(如Python自动化运维技术与最佳实践等)和网络上 关于模块的使用,一上来就是哗哗一堆代码,从而忽略了
一些简单的细节,让像我这样的小白摸不着头。即使给了代码,连运行都不会,呵呵,下面我会给出以下步骤供初学者参考。
实现MX记录查询:
- 首先创建文件夹,用来存储这个练习(建议刚开始学习的人都这样,不要乱放脚本),我这里创建的PythonTest文件夹来存储。
mkdir PythonTest
2.cd进入该文件夹,执行 vi DnsPythonMX.py命令系统会创建DnsPython的文件(py后缀名仅仅是标识而已),并打开该文件,进入
编辑状态后,输入以下命令(命令解释见后面:)
#!/usr/bin/env python
import dns.resolver
domain = raw_input('Please input an domain: ')
MX = dns.resolver.query(domain, 'MX')
for i in MX:
print 'MX preference =',i.preference,'mail exchanger=',i.exchange
然后保存退出。
解释:第一句是告诉操作系统的设置环境中自动找python的解释器(也可以写成#!/usr/bin/python,但是并不推荐,这样写就是写成绝对路径,
写死了python的位置,如果更改了的话就GG了,兄弟,找不到python的解释器);
第二句是调用DNS的解析器类---resolver,使用它的query方法进行解析;
第三句是输入解析的域名;
第四句是指定查询类型为MX类型;
最后的for循环是遍历回应结果,输出MX记录的preference及exchanger信息。
运行:输入python DnsPythonMX.py运行该脚本
测试:用126.com域名进行验证: