美文网首页
Python 下dns查询A、MX、NS、CNAME记录

Python 下dns查询A、MX、NS、CNAME记录

作者: Beam_L | 来源:发表于2016-10-13 12:53 被阅读0次
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2016/10/13 10:30
# @Author  : Beam
# @Site    : 实现查询域名的A记录
# @File    : demo_dns.py
# @Software: PyCharm
 
import dns.resolver
 
def getArember(domain):
    """
    仅查询二级域名,顶级域名则出错
    :param domain:
    :return:打印该域名下的所有A记录
    """
    A = dns.resolver.query(domain,'A')   #指定查询A记录
    print '-----------------------A记录-----------------------'
    for i in A.response.answer:     #通过response.answer方法获取查询回应的信息
        for j in i:
            print j
    print '-----------------------分割线-----------------------'
 
def getMXrember(domain):
    """
    仅限输入一级域名(顶级域名),否则出错
    :param domain:
    :return:打印该域名下的所有MX记录
    """
    MX = dns.resolver.query(domain,'MX')   #指定查询MX记录
    print '-----------------------MX记录-----------------------'
    for i in MX:     #遍历回应结果,输出MX记录的preference以及exchanger信息
        print "MX preference =", i.preference,"MX exchanger =",i.exchange
    print '-----------------------分割线-----------------------'
 
def getNsrember(domain):
    """
    仅限输入一级域名(顶级域名),否则出错
    :param domain:
    :return: 打印该域名的NS记录值
    """
    ns = dns.resolver.query(domain,'NS')
    print '-----------------------NS记录-----------------------'
    for i in ns.response.answer:
        for j in i.items:
            print j.to_text(),
    print ''
    print '-----------------------分割线-----------------------'
 
def getCnamerember(domain):
    """
    仅限输入二级域名,否则出错
    :param domain:
    :return: 打印该域名的cname记录值
    """
    cname = dns.resolver.query(domain,'CNAME')
    print '-----------------------CNAME记录-----------------------'
    for i in cname.response.answer:
        for j in i.items:
            print j.to_text()
    print '-----------------------分割线-----------------------'
 
print '查询顶级域名输出MX、NS记录,查询耳机域名输出A、CNAME记录'
domain = raw_input('Please input an domain:')
if len(domain.strip().split('.')) == 2:
    getMXrember(domain)
    getNsrember(domain)
else:
    getArember(domain)
    getCnamerember(domain)

相关文章

  • Python 下dns查询A、MX、NS、CNAME记录

  • DNS服务记录类型

    DNS记录类型包含:A记录、AAAA记录、CNAME记录、MX记录、NS记录、TXT记录、SRV记录、URL转发。...

  • 域名解析基础知识

    域名解析基础知识(NS,A记录,CNAME,MX) 1 DNS中A记录和CNAME记录的区别 A记录是域名到ip的...

  • 域名解析基础

    我的博客主页:笔头博客 域名解析基础知识(NS,A记录,CNAME,MX) 1 DNS中A记录和CNAME记录的区...

  • 域名解析基础

    我的博客主页:笔头博客 域名解析基础知识(NS,A记录,CNAME,MX) 1 DNS中A记录和CNAME记录的区...

  • Namesilo, Godaddy,万网的域名解析方法

    前言:所有的DNS设置(A记录,MX记录,cname记录等等)都是在域名使用的NS服务器上面设置的,即NS在哪里,...

  • DNS协议

    dns记录 A记录:ip指向 CNAME:别名 MX:邮件交换记录 dns解析过程 (本地dns客户端)查看本机h...

  • dig

    Dig简介: Dig是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具。 命令...

  • linux系统下安装dig

    [TOC] dig简介 查询DNS包括NS记录,A记录,MX记录等相关信息的工具。 安装 测试环境 我这里面使用的...

  • 几种域名解析方式

    主要有A记录、MX记录、CNAME记录、NS记录、TXT记录 A记录A代表Address,用于指定域名对应的IP,...

网友评论

      本文标题:Python 下dns查询A、MX、NS、CNAME记录

      本文链接:https://www.haomeiwen.com/subject/gsuwyttx.html