Python实现dns域名查询的方法
1、安装dnspython模块:
快捷键 ctrl+r 打开运行窗口 ,输入cmd ,打开命令提示符,在命令提示符当中输入 pip install dnspython 等待 一会 即可自动安装完成
2、用import 进行模块的导入,导入dnspython 中的模块功能,代码如下:
import dns.resolver
3、接下来我们用input 方法 和用户交互,提示输入一个域名
domain = input('请输入一个域名:')
4、下面我们进行A记录查询,具体代码如下:
A = dns.resolver.query(domain,"A")
for i in A.response.answer:
for x in i.items:
print (x)
通过以上代码,运行后效果如图。
我们通过输入域名后,查询出对应的ip地址
5、MX记录查询,代码如下:
MX = dns.resolver.query(domain,"MX")
for i in MX:
print(i.preference , i.exchange)
运行效果如图,这里我们的输出结果为mx记录的preference 和exchange信息
6、NS记录查询方法,代码如下:
ns = dns.resolver.query(domain,"NS")
for i in ns.response.answer:
for j in i.items:
print(j.to_text())
这里的NS记录我们只能输入一级域名
7、CNAME记录查询方法,代码如下:
cname = dns.resolver.query(domain,"CNAME")
for i in cname.response.answer:
for j in i.items:
print(j.to_text())
结果将返回cname后的目标域名
8、代码整体总结:
import dns.resolver
domain = input('请输入一个域名:')
#A 记录查询方法
A = dns.resolver.query(domain,"A")
for i in A.response.answer:
for x in i.items:
print (x)
# MX 记录查询方法
MX = dns.resolver.query(domain,"MX")
for i in MX:
print(i.preference , i.exchange)
# # NS 记录查询方法
ns = dns.resolver.query(domain,"NS")
for i in ns.response.answer:
for j in i.items:
print(j.to_text())
# # CNAME 记录查询方法
cname = dns.resolver.query(domain,"CNAME")
for i in cname.response.answer:
for j in i.items:
print(j.to_text())
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:111
阅读量:87
阅读量:112
阅读量:159
阅读量:114