python 的 dnspython 模块,可以用来对域名进行诸如 A 记录、MX 记录、CNAME 记录等解析操作。
# 安装
python3 安装
pip3 install dnspython3
python2 安装
pip install dnspython
使用
查询A 记录 IP
#!/usr/bin/python3
#-*_coding:utf-8-*-
import dns.resolver
def dnsresolver(domain):
try:
domain = dns.resolver.query(domain,"A")
for domain in domain.response.answer:
for ip in domain.items:
if ip.rdtype == 1:
print("该域名解析的IP地址是:"+ip.address)
else:
pass
except:
print("解析错误:域名参数不正确")
dnsresolver('www.baidu.com')
ß
和dig 查询的A记录地址是一样的
1.查询CNAME
#!/usr/bin/python3
#-*_coding:utf-8-*-
import dns.resolver
def dnsresolver(domain):
try:
domain = dns.resolver.query(domain,"CNAME")
for domain in domain.response.answer:
for ip in domain.items:
#rdtype 为1 表示是A记录
print("该域名解析的IP地址是:"+ip.to_text())
except:
print("解析错误:域名参数不正确")
dnsresolver('fileawenme.b0.aicdn.com')
执行结果
➜ Downloads python3 dnsdemo.py
该域名解析的IP地址是:nm.ctn.aicdn.com.