Python实现dns域名查询的方法

2025-10-23 07:54:24

1、安装dnspython模块:

快捷键 ctrl+r 打开运行窗口 ,输入cmd ,打开命令提示符,在命令提示符当中输入 pip install dnspython  等待 一会 即可自动安装完成

Python实现dns域名查询的方法

Python实现dns域名查询的方法

2、用import 进行模块的导入,导入dnspython 中的模块功能,代码如下:

import dns.resolver

Python实现dns域名查询的方法

3、接下来我们用input 方法 和用户交互,提示输入一个域名

domain  = input('请输入一个域名:')

Python实现dns域名查询的方法

4、下面我们进行A记录查询,具体代码如下:

A = dns.resolver.query(domain,"A")

 

for i in A.response.answer:

 

   for x in i.items:

 

       print (x)

通过以上代码,运行后效果如图。

我们通过输入域名后,查询出对应的ip地址

Python实现dns域名查询的方法

5、MX记录查询,代码如下:

MX = dns.resolver.query(domain,"MX")

 

for i in MX:

 

   print(i.preference , i.exchange)

运行效果如图,这里我们的输出结果为mx记录的preference 和exchange信息

Python实现dns域名查询的方法

6、NS记录查询方法,代码如下:

ns = dns.resolver.query(domain,"NS")

 

for i in ns.response.answer:

 

   for j in i.items:

 

       print(j.to_text())

这里的NS记录我们只能输入一级域名

Python实现dns域名查询的方法

7、CNAME记录查询方法,代码如下:

cname = dns.resolver.query(domain,"CNAME")

 

for i in cname.response.answer:

 

   for  j in i.items:

 

       print(j.to_text())

结果将返回cname后的目标域名

Python实现dns域名查询的方法

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。
猜你喜欢