python笔记系列:DNS处理模块dnspython

本文介绍了Python的DNS处理模块dnspython,包括安装步骤和使用示例,如A、MX、NS、CNAME记录查询,并展示了如何用dnspython进行DNS域名轮询业务监控,检查IP的可用性。
摘要由CSDN通过智能技术生成
DNS处理模块dnspython

python setup.py install

dnspython提供的DNS解析器类:resolver,其query方法可实现域名查询,方法定义如下:
query(self,qname,rdtype=1,rdclass=1,tcp=False,source=None,raise_on_no_answer=True,source_port=0)
qname 为域名,rdtype指定RR资源的类型,常用的如下:
A 主机名换成IP
MX 邮件交换记录,定义邮件服务器的域名
CNAME 别名记录,实现域名间的映射
NS 标记区域的域名服务器及授权子域
PTR 反向解析,与A记录相反
SOA SOA标记,一个起始授权区的定义
rdclass 指定网络类型,可选IN(默认)、CH、HS
tcp 是否启用TCP协议,默认False(不启用)
source 源地址,默认查询设备IP
source_port 源地址端口,默认0
raise_on_no_answer 指定查询无应答时是否触发异常,默认True

A记录查询
#!/usr/bin/env python
import dns.resolver
domain = raw_input( 'Please input an domain: ' )
A = dns.resolver.query(domain , 'A' )
for i in A.response.answer:
for j in i.items:
print j.address

MX记录查询(注意输入域名不包括www)
#!/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

NS记录查询
#!/usr/bin/env python
import dns.resolver
domain = raw_input( 'Please input an domain: ' )
ns = dns.resolver.query(domain , 'NS' )
for i in ns.response.answer:
for j in i.items:
print j.to_text()

CNAME记录查询
#!/usr/bin/env python
import dns.resolver
domain = raw_input( 'Please input an domain: ' )
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值