python解析A、MX、TXT、SPF记录
这些记录一些和邮件发送smtp服务有关的一些dns概念。
邮局协议是重度使用了dns的相关协议的,了解dns协议非常重要。
python3的代码
先安包
pip install dnspython
直接上代码
import dns.resolver
def bytetostring(bv):
sv = bv.decode()
return sv
def getSPFKey(domain):
spf = 'spf' + "." + domain
return spf
def getSPFValue(domain):
answersSPF = dns.resolver.resolve(getSPFKey(domain), 'TXT')
for rdata in answersSPF:
for txt_string in rdata.strings:
txt_string = bytetostring(txt_string)
return txt_string
def getTvalue(domain):
answersTXT = dns.resolver.resolve(domain, 'TXT')
for tdata in answersTXT:
for txt_string in tdata.strings:
txt_string = bytetostring(txt_string)
return txt_string
def getMXvalue(domain):
resultMX = dns.resolver.resolve(domain, 'MX')
for exdata in resultMX:
res = exdata.to_text()
av = res.split(' ')
return av[1]
def getAvalue(domain):
resultA = dns.resolver.resolve(domain, 'A')
for ip in resultA:
return ip.to_text()
需要注意的是 之前的代码都是 dns.resolver.query 今再看,query有个删除线。但是还是能运行。输出提示 让用dns.resolver.resolve这个方法替换之
再就是没有做try…except判断 如果解析有问题就会报错了
A 记录不做解释了
MX 记录 唤作 邮件交换记录 (简单的说,收件收发信得有这个解析)
TXT
SPF
主机差评君首发于zhuji188.com,转发请标明来源https://zhuji188.com/267.html
THE END
二维码