文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python学习-dnspython

2023-01-31 07:25

关注

dnspython是Python的DNS工具包。它支持几乎所有的记录类型。它可以用于查询,区域传输和动态更新。它支持TSIG认证消息和EDNS0。

dnspython提供对DNS的高级和低级访问。高级别类对给定名称,类型和类的数据执行查询,并返回答案集。低级别类允许直接操作DNS区域,消息,名称和记录。

官方网站:http://www.dnspython.org/

#! /env python3
#coding=utf-8
'''
模块域名解析方法:
dnspthon提供了一个DNS解析器类-resolver,使用query方法实现域名查询功能
方法定义如下:
query(self,qname,rdtpye=1,rdclass=1,tcp=False,source=None,rasie_on_no_answer=True,source_port=0)
其中qname参数为查询的域名。rdtpye参数指定RR资源类型,常用有以下几种
A记录,将主机名转换为IP地址;
MX记录,邮件交换机记录,定义邮件服务器的域名;
CNAME记录,指别名记录,实现域名间的映射;
NS记录,标记区域的域名服务器及授权子域;
PTR记录,方向解析,与A记录相反,将IP转换为主机名;
SOA记录,SOA标记,一个起始授权区的定义
rdclass参数用于指定网络类型,可选的值有IN,CH与HS,其中IN为默认,使用最广泛
tcp参数用于指定查询是否启用了TCP协议,默认是 False不启用。
source与source_port参数作为指定查询的源地址与端口,默认为查询设备IP地址和0.
rasie_on_on_answer=True参数指定当查询无应答时是否触发异常
'''

'''
常见的解析类型-A记录,实现A记录查询方法
'''
import dns.resolver
domain = input('Please input an domain: ')  #输入域名地址
A = dns.resolver.query(domain, 'A')     #指定查询类型为A记录
for i in A.response.answer:             #通过response.answer方法获取查询回应信息
    for j in i.items:                   #遍历回应信息
        print (j)

'''
常见的解析类型-MX记录
'''
import dns.resolver
domain = input('Please input an domain: ') #指定域名为163.com
MX = dns.resolver.query(domain, 'MX')  #指定查询类型为MX记录
for i in MX:                            #遍历回应结果,输出MX记录的preference及exchanger信息
    print ('MX preference =', i.preference, 'mail exchanger =', i.exchange)
'''
常见的解析类型-NS记录
'''
import dns.resolver
domain = input('Please input an domain: ') #只限输入一级域名,如163.com
ns = dns.resolver.query(domain, 'NS')     #指定查询类型为NS
for i in ns.response.answer:
     for j in i.items:
          print(j.to_text())

'''
常见的解析类型-CNAME记录
'''
import dns.resolver
domain = input('Please input an domain: ')   #指定查询类型为CNAME记录
cname = dns.resolver.query(domain, 'CNAME')  #结果将回应cname后的目标信息
for i in cname.response.answer:
    for j in i.items:
        print (j.to_text())


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯