Python - DNS 查找

  • 简述

    IP 地址在翻译成人类可读的格式或文字后被称为域名。域名到 IP 地址的转换由 python 模块管理dnspython.该模块还提供了查找CNAME和MX记录的方法。
  • 寻找“A”记录

    在下面的程序中,我们使用 dns.resolver 方法找到域的 IP 地址。通常 IP 地址和域名之间的这种映射也称为“A”记录。
    
    import dnspython as dns
    import dns.resolver
    result = dns.resolver.query('cainiaoya.com', 'A')
    for ipval in result:
        print('IP', ipval.to_text())
    
    当我们运行上述程序时,我们得到以下输出 -
    
    ('IP', u'94.130.81.180')
    
  • 查找 CNAME 值

    CNAME 记录也称为规范名称记录,是域名系统 (DNS) 中的一种记录,用于将域名映射为另一个域的别名。CNAME 记录总是指向另一个域名,而不是直接指向 IP 地址。在下面的查询方法中我们指定 CNAME 参数来获取 CNAME 值。
    
    import dnspython as dns
    import dns.resolver
    result = dns.resolver.query('mail.google.com', 'CNAME')
    for cnameval in result:
        print ' cname target address:', cnameval.target
    
    当我们运行上述程序时,我们得到以下输出 -
    
    cname target address: googlemail.l.google.com.
    
  • 查找 MX 记录

    MX 记录也称为邮件交换器记录,是域名系统中的资源记录,它指定负责代表收件人域接受电子邮件的邮件服务器。如果有多个邮件服务器可用,它还设置用于优先发送邮件的首选项值。与上述程序类似,我们可以在查询方法中使用 'MX' 参数找到 MX 记录的值。
    
    result = dns.resolver.query('mail.google.com', 'MX')
    for exdata in result:
        print ' MX Record:', exdata.exchange.text()
    
    当我们运行上述程序时,我们得到以下输出 -
    
    MX Record:  ASPMX.L.GOOGLE.COM.
    MX Record:  ALT1.ASPMX.L.GOOGLE.COM.
    MX Record:  ALT2.ASPMX.L.GOOGLE.COM.
    
    以上是一个示例输出,而不是确切的输出。