浏览器家园·资讯

展开

Python的DNS工具包dnspython介绍

编辑:浏览器知识

dnspython 是Python实现的一个DNS工具包,支持几乎所有的记录类型,可以用于查询,传输并动态更新ZONE信息,同时支持TSIG(事务签名)验证消息和EDNS0(扩展DNS)。可以替代nslookup,dig等工具。

  1. #pip安装
  2. pip3 install dnspython
  3. #最新版本v1.15.0

模块域名解析方法详解

dnspython提供了大量的DNS处理方法,最常用的是域名查询。

dnspython提供了一个DNS解析器类——resolver,使用它的 query方法来实现域名的查询功能

query(self,qname,rdtype=1,rdclass=1,tcp=False,source=None,raise_on_no_answer=True,source_port=0)

qname为查询的域名

rdtype用来指定RR资源的类型

A记录,将主机名转换成IP地址

MX记录,邮件交换记录,定义邮件服务器域名

CNAME记录,别名记录,实现域名间的映射

NS记录,标记区域的域名服务器及授权子域

PTR记录,反向解析,与A记录相反,将IP转换为主机名

SOA记录,一个起始授权区的定义

rdclass 用来指定网络类型,如IN,CH,HS,IN为默认

tcp 指定查询是否启用TCP协议,默认False(不启用)

source,source_port 指定查询源地址与端口

raise_on_no_answer 查询无应答是否触发异常

常见解析类型示例脚本

A记录

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author: ccoo2
 
import dns.resolver
# domain = input("请输入域名地址: ")
domain = 'www.baidu.com'
A = dns.resolver.query(domain,'A')
for i in A.response.answer:
# print(i)
for j in i.items:
print(j)
文章TAG:python  工具  工具包  介绍  Python的DNS工具包dnspython介绍  

加载全部内容

相关教程
猜你喜欢
大家都在看