zoukankan      html  css  js  c++  java
  • python---dnspython

      dnspython 是Python实现的一个DNS工具包,支持几乎所有的记录类型,可以用于查询,传输并动态更新ZONE信息,同时支持TSIG(事务签名)验证消息和EDNS0(扩展DNS)。可以替代nslookup,dig等工具。

    #pip安装
    pip3 install dnspython
    #最新版本v1.15.0

    模块域名解析方法详解

      dnspython提供了大量的DNS处理方法,最常用的是域名查询。

      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记录相反,将IP转换为主机名

        SOA记录,一个起始授权区的定义

      rdclass 用来指定网络类型,如IN,CH,HS,IN为默认

      tcp 指定查询是否启用TCP协议,默认False(不启用)

      source,source_port 指定查询源地址与端口

      raise_on_no_answer 查询无应答是否触发异常

    常见解析类型示例脚本

    A记录

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    #Author: ccoo2
    
    import dns.resolver
    # domain = input("请输入域名地址: ")
    domain = 'www.baidu.com'
    A = dns.resolver.query(domain,'A')
    for i in A.response.answer:
        # print(i)
        for j in i.items:
            print(j)
    

    MX记录

  • 相关阅读:
    洛谷模板汇总
    BZOJ1787【AHOI2008】Meet紧急集合 <LCA>
    HDU3068 最长回文 <Manacher>
    UVa12345 Dynamic len(set(a[L:R])) <带修莫队>
    BZOJ2038 小Z的袜子 <莫队>
    BZOJ1103【POI2007】大都市meg <树上差分+树状数组>
    BZOJ3226【SDOI2008】校门外的区间
    BZOJ1012【JSOI2008】最大数 <线段树>
    20170918~24周总结
    BZOJ1934【SHOI2007】善意的投票 <网络流>
  • 原文地址:https://www.cnblogs.com/xiao1/p/6165614.html
Copyright © 2011-2022 走看看