使用Python获取DNS记录

#   A记录也称为主机记录,是使用最广泛的DNS记录,A记录的基本作用就是说明一个域名对应的IP是多少, 它是域名和IP地址的对应关系,表现形式为 www.contoso.com 192.168.1.1 这就是一个A记录!A记录除了进行域名IP对应以外,还有一个高级用法,可以作为低成本的负载均衡的解决方案,比如说,www.contoso.com 可以创建多个A记录,对应多台物理服务器的IP地址,可以实现基本的流量均衡!)
#   MX记录,全称是邮件交换记录,在使用邮件服务器的时候,MX记录是无可或缺的,比如A用户向B用户发送一封邮件,那么他需要向DNS查询B的MX记录,DNS在定位到了B的MX记录后反馈给A用户,然后A用户把邮件投递到B用户的MX记录服务器里!
import dns.resolver     #导入DNS处理模块

dns_record = {}     #字典存储
website = input("input website:")   #获取输入

a_record = dns.resolver.resolve(website,'A')    # 获取网站的“A”记录并将其存储在字典中
for ip in a_record:
     dns_record['A_record_IP'] = ip.to_text()

mx_record_list = []     #列表存储 mx 记录
mx_record = dns.resolver.resolve(website,"MX")       # 获取网站的“MX”记录并将其存储在列表中
for server in mx_record:
    mx_record_list.append(server)
for i,element in enumerate(mx_record_list):
    dns_record["MX_record",i+1] = element

for key,value in dns_record.items():
    print(f"{key} = {value}")

参考:https://github.com/Python-World/python-mini-projects

你可能感兴趣的:(Python,python)