ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python操作dns---dnspython模块

2021-04-05 17:02:53  阅读:149  来源: 互联网

标签:domain 记录 python --- 域名 dns dnspython mx


一.简介以及安装


 

【介绍】

dnspython的官网:https://www.dnspython.org/

dnspython是python实现的一个DNS工具包,它几乎支持所有的记录类型,可以用于查询、传输并动态更新zone信息。

【安装】

pip  install dnspython


 

二.dnspython解析方法详解


 

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

1)A记录:将主机名转换为IP地址

import dns.resolver
domain="taobao.com"
A=dns.resolver.resolve(domain,"A")
for a in A.response.answer:
for aa in a.items:
print(aa.address)

 

 

2) MX记录:邮件交换记录,定义邮件服务器的域名

domain="qq.com"
MX=dns.resolver.resolve(domain,"MX")
for mx in MX:
print(mx)
#mx.preference代表邮件交换记录,mx.exchange代表邮件服务器域名
print(mx.preference,mx.exchange)

 

 

3)CNAME记录:指别名记录,实现域名间的映射

 

domain="12306.com"
CNAME=dns.resolver.resolve(domain,"CNAME")#子域名
#域名之间的调转,有的服务器能够查询,有的服务器禁止查询
for cname in CNAME.response.answer:
for c in cname.items:
print(c.to_text())

 

4)NS记录:标记区域的域名服务器及授权子域

 

domain="baidu.com"
NS=dns.resolver.resolve(domain,"NS")#子域名
for ns in NS.response.answer:
for n in ns.items:
print(n.to_text())

5)PTR记录:反向解析,与A记录相反,将IP转换为主机名

6)SOA记录:SOA标记,一个起始授权区的定义

标签:domain,记录,python,---,域名,dns,dnspython,mx
来源: https://www.cnblogs.com/smilecindy/p/14618734.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有