设为首页 收藏本站

运维网

查看: 243|回复: 0

[经验分享] Python DNS处理模块

[复制链接]

尚未签到

发表于 2018-8-10 13:45:34 | 显示全部楼层 |阅读模式
  模块:dnspython
  功能:

  •   支持所有的记录类型
  •   可以用于查询、传输并动态更新ZONE信息
  •   支持TSIG(事务签名)验证消息和EDNS0(扩展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
  dnspython提供一个DNS解析器类——resolver,使用query()方法来实现域名的查询功能模块域名解析方法:
  Query()方法使用:
import dns.resolver  
query(self,qname,rdtype=1,rdclass=1,tcp=False,source=None,raise_on_no_answer=True,source_port=0)
  rdtype用来指定RR资源的类型,常用的有如下几种:qname为查询的域名。

  •   A记录,将主机名转换成IP地址
  •   MX记录,邮件交换记录,用于定义邮件服务器的域名
  •   CNAME记录,别名记录,实现域名间的映射
  •   NS记录,标记区域的域名服务器及授权子域
  •   PTR记录,反向解析,与A记录相反,将IP转换成主机名
  •   SOA记录,SOA标记,一个起始授权区的定义
  rdclass用于指定网络类型,可选的值有:

  •   IN,默认为IN
  •   CH,
  •   HS,
  tcp用于指定查询是否启用TCP协议
  source和source_port指定查询源地址与端口,默认查询设备IP和0
  raise_on_no_answer用于指定当查询无应答时,是否触发异常,默认为True
  A记录查询方法:
import dns.resolver  
dom=raw_input('输入域名地址:')
  
A=dns.resolver.query(dom,'A') # 指定查询类型为A的记录
  
for a in A.response.answer:   # 通过response.answer方法获取查询回应信息
  
    for b in a.items:         # 遍历回应信息
  
        print(b.address)
  MX记录查询方法:
import dns.resolver  
dom=raw_input('输入域名地址:')
  
MX=dns.resolver.query(dom,'MX')
  
for a in MX:
  
    print('MX 优先权:',a.preference,'mail 交换器:',a.exchange)
  NS记录查询方法:
import dns.resolver  
dom=raw_input('输入一级域名地址:')
  
NS=dns.resolver.query(dom,'NS')
  
for a in NS.respinse.answer:
  
    for b in a.items:
  
        print(b.to_text())
  CNAME记录查询方法:
import dns.resolver  
dom=raw_input('输入域名地址:')
  
cname=dns.resolver.query(dom,'CNAME')
  
for a in cname.response.answer:
  
    for b in a.items:
  
        print(b.to_text())
  DNS域名轮询业务监控:
DSC0000.jpg

  步骤:

  •   实现域名的解析,获取域名所有的A记录解析IP列表
  •   对IP列表进行HTTP级别的探测

运维网声明 1、欢迎大家加入本站运维交流群:群①:263444886群②:197202523群③:485755530群④:201730672群⑤:202807635运维网交流群⑥:281548029
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须注明原文的出处
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、运维网 - 服务您的运维操作管理专家!
6、联系人Email:admin@yunvn.com 网址:www.iyunv.com

点击关注更多内容
您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则  允许回帖邮件提醒楼主

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服 E-mail:kefu@yunvn.com

本站由青云提供云计算服务

运维网--中国最专业的运维工程师交流社区

京ICP备14039699号-1 Copyright © 2012-2018

使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

Good good study day day up !


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


独家合作伙伴: 青云cloud

快速回复 返回顶部 返回列表