CentOS7--DNS处理模块DnsPython的简单使用
初步了解:
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域名进行验证:
CentOS7--DNS处理模块DnsPython的简单使用的更多相关文章
- python自动化运维笔记3 —— dns处理模块dnspython
1.3 DNS处理模块 dnspython是python实现的一个DNS工具包,它支持几乎所有的记录类型,可以用于查询.传输并动态更新ZONE信息,同时支持TSIG(事物签名)验证消息和EDNS0(扩 ...
- python运维开发常用模块(三)DNS处理模块dnspython
1.dnspython模块介绍: dnspython(http://www.dnspython.org/)是Python实现的一个DNS 工具包,它支持几乎所有的记录类型,可以用于查询.传输并动态更新 ...
- DNS处理模块dnspython
一.介绍 官网:http://www.dnspython.org/ https://pypi.org/project/dnspython/ dnspython是Python的DNS工具包.它支持几乎所 ...
- DNS 处理模块 dnspython
简介: dnspython (http://www.dnspython.org/)是Python实现一个DNS的工具包,支持所有的记录类型,可以用于查询.传输并动态更新ZONE信息. 安装 wget ...
- python -- DNS处理模块dnspython
简介 dnspython – 是python实现的一个DNS工具包,利用其查询功能来实现dns的服务监控及解析结果的校验 安装dnspython pip install dnspython 使用 常见 ...
- python模块介绍- HTMLParser 简单的HTML和XHTML解析器
python模块介绍- HTMLParser 简单的HTML和XHTML解析器 2013-09-11 磁针石 #承接软件自动化实施与培训等gtalk:ouyangchongwu#gmail.comqq ...
- 多模块分布式系统的简单服务访问 - OSGI原形(.NET)
多模块分布式系统的简单服务访问 - OSGI原形(.NET) 先描述一下本篇描述的适用场景(3台server, 各个模块分布在各个Server上,分布式模块互相依赖.交互的场景): 多个OSIG引擎交 ...
- nodejs nodejs模块使用及简单的示例
nodejs模块使用及简单的示例 参考菜鸟教程网:http://www.runoob.com/ 一.fs模块的使用: 1.文件操作: 读文件: //读文件 var fs=require('fs'); ...
- SELECTORS模块实现并发简单版FTP
环境:windows, python 3.5功能:使用SELECTORS模块实现并发简单版FTP允许多用户并发上传下载文件 结构:ftp_client ---| bin ---| start_clie ...
随机推荐
- SpringMvc之@RequestParam详解
@RequestParam是传递参数的. @RequestParam用于将请求参数区数据映射到功能处理方法的参数上. public String queryUserName(@RequestParam ...
- C#、.NET和ASP.NET三者之间的区别
刚毕业后出去找工作面试的时候就遇到这个问题!.回答不上来.回来网上查的如下: 那么 .NET.C#和ASP.NET这三者之间区别不清楚,到底它们之间有什么联系呢? 1..NET是一个平台,一个抽象的平 ...
- Oracle 11g XML java连接
在网上找了好多教程 走好好多弯路 现在从头总结下 oralce11g 可以直接用xmltype节点存储xml文件 简单来说就是直接存一个文件进去 首先安装oracle11g 网上教程非常多 然后进Ne ...
- UI基础视图----UIView总结
UIView是UIKit框架里面最基础的视图类,是UIResponder的子类,是UIApplication和UIViewController的兄弟类,是UIWindow,UILabel,UIImag ...
- FileStream 操作文件复制
static void Main(string[] args) { string source = @"D:\c\集合.avi"; string target = @"C ...
- js中关于一个数组中最大、最小值以及它们的下标的输出的一种解决办法
今天在学习js中的数组时,遇到的输出一个数组中最大.最小值以及它们的下表,以下是自己的解决方法! <script type="text/javascript"> var ...
- poj3071
题目大意,1<<n个球队比赛赛程是这样的 1 1 1 1 1 1 1 另dp[i][k]为k队进入第i场的概率 #include<iostream> #includ ...
- net.sf.json.JSONException: There is a cycle in the hierarchy!
因为项目中使用了AJAX技术,jar包为:json-lib.jar,在开发过程中遇到了一个JSON-LIB和Hibernate有关的问题: 如hibernate延迟加载错误,这都是些老问题了,一看就知 ...
- [GIT] warning: LF will be replaced by CRLF问题解决方法
原文链接[http://michael-roshen.iteye.com/blog/1328142] 开发环境: 操作系统: windows xp ruby 1.9.2 rails 3.1.3 git ...
- setf
independent flags boolalpha read/write bool elements as alphabetic strings (true and false). showbas ...