一名爬虫工程师的运维入门之路:dnspython学习笔记

  • 大家是否跟我同样,不知道什么是DNS,在这里,首先普及一下什么是DNS
    DNS(Domain Name System,域名系统),万维网上做为域名和IP地址相互映射的一个分布式数据库,可以使用户更方便的访问互联网,而不用去记住可以被机器直接读取的IP数串。经过域名,最终获得该域名对应的IP地址的过程叫作域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。在RFC文档中RFC 2181对DNS有规范说明,RFC 2136对DNS的动态更新进行说明,RFC 2308对DNS查询的反向缓存进行说明。
  • dnspython模块简介python

    dnspython是Python实现的一个DNS工具包,它支持几乎全部的记录类型,可用于查询、传输并动态更新ZONE信息,同时支持TSIG验证信息和EDNS0。在系统管理方面,咱们能够利用它的查询功能来实现DNS服务监控及解析结果的校验,能够代替nslookup和dig工具。

    2.方法:数据库

  • A:查询域名的IP源码:缓存

    domain = input('请输入域名地址:')
    
    A = dns.resolver.query(domain, 'A')
    for i in A.response.answer:
        for j in i.items:
            print(j.address)
  • MX:邮件交换记录,定义邮件服务器的域名源码:服务器

    domain = input('请输入域名地址:')
    MX = dns.resolver.query(domain, 'MX')
    for i in MX:
        print('MX preference=', i.preference, 'mail exchanger=',             i.exchange)
  • NS:标记区域的域名服务器及受权子域dom

    print(dns.resolver.query('baidu.com'), 'NS')
  • CNAME:别名记录,实现域名间的映射(方法同上)
  • PTR:反向解析,与A相反,将IP转化为域名(方法同上)
  • SOA:SOA标记,一个起始受权区的定义(方法同上)
相关文章
相关标签/搜索