python 指定dns服务器,python实现dns解析
dnspython模块中最常用的域名查询,它提供了一个DNS解析器类resolver,使用resolver的query方法来实现域名的查询功能。
1.模块库安装
pip install dnspython
2.指定DNS服务器
my_resolver = dns.resolver.Resolver()
my_resolver.nameservers = [DNS_Server]
3.query方法的定义
query(self,qname,rdtype=1,rdclass=1,tcp=False,source=None,raise_on_no_answer=True, source_port=0)
参数说明:
qname表示待查询的域名,例如:www.baidu.com;
rdtype用来指定待查询的类型,如A记录、MX记录、NS记录等;
rdclass用来指定网络类型,如IN、CH、HS等,默认为IN;
tcp用来指定查询时是否使用TCP协议,默认为False(即使用UDP);
source和source_port用于指定查询源地址与端口,默认为查询设备IP和0端口raise_on_no_answer用来指定当查询无应答时是否触发异常。
4.代码实现
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
#说明1:DNS的模块库是dnspython,在电脑上需要安装pip install dnspython
import dns.resolver
#说明2:指定DNS解析的服务器为192.168.0.1,若不指定,则使用网卡配置的DNS地址
DNS_Server="192.168.0.1"
my_resolver = dns.resolver.Resolver()
my_resolver.nameservers = [DNS_Server]
#说明3:定义函数,方便重复利用,指定源地址进行指定域名和记录类型的dns解析
def DNS_Query(domain_name,domain_type,source_ip):
try:
A= my_resolver.query(domain_name,domain_type,source=source_ip)
for i in A.response.answer:
print(i.to_text())
#for j in i.items:
#print(j.to_text())
except Exception as e:
print (domain_name,domain_type,'Error: unable to start thread')
#说明4:指定源IP为192.168.0.2进行www.baidu.com的A记录解析
DNS_Query("www.baidu.com","A","192.168.0.2")
上述代码执行结果
www.baidu.com. 524 IN CNAME www.a.shifen.com.
www.a.shifen.com. 147 IN A 180.101.49.12
www.a.shifen.com. 147 IN A 180.101.49.11
python 指定dns服务器,python实现dns解析相关推荐
- Linux centos7 DNS服务器基于bind正反解析服务的搭建
Linux centos7 DNS服务器基于bind正反解析服务的搭建 DNS的相关基础知识: 一.DNS-- ...
- 第12节 DNS服务器基本概念、解析原理及部署——以win2003为例
DNS服务器基本概念.解析原理及部署 1 DNS概述 1.1 基本概念 1.2 域名的结构--树形结构 2 DNS解析分类及过程 2.1 按查询方式分类: 2.2 按查询的内容分类 2.3 普通用户机 ...
- Linux设备配置DNS服务器,实现正向解析和反向解析,实现DNS主从服务器同步,实现批量域名正/反向解析
本文基于Linux上CentOS 7版本配合bind(named)服务进行演示 一.DNS域名服务器原理及作用等介绍 1.DNS简介: 2.原理简单介绍 3.常见域名后缀 4.DNS域名服务器类型 5 ...
- dns服务器zones文件,DNS服务安装与配置
DNS域名解析服务器,dns服务器程序包名称为bind,程序名named. 安装DNS服务器:yum install bind -y 配置文件: /etc/named.conf 主配置文 ...
- linux7配置dns服务器,centOS7搭建DNS服务器配置详解
写在前言:DNS服务器中 named-checkconf -z /etc/named.conf 命令用来检查所有与DNS有关的配置文件,若有错误,会直接提示,可以代替相关的所有检查命令. 通过yum安 ...
- 服务器DNS服务是否自动安装,DNS服务器之一:DNS简介及BIND安装与基本配置 | 旺旺知识库...
1.什么是DNS? 域名系统(英文:Domain Name System,DNS)是因特网的一项服务,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网.DNS 使用TCP和 ...
- dns服务器在电脑上有什么作用,DNS服务器是什么 DNS服务器的作用有哪些【详解】...
什么是DNS?DNS服务器的作用有哪些? dns是什么? 概括的说DNS 是计算机域名 (Domain Name System) 的缩写,它是由解析器和域名服务器组成的.域名服务器是指保存有该网络中所 ...
- 重装系统后dns服务器未响应,dns服务器未响应,小编教你dns服务器未响应怎么解决...
连网时,出现连不上网络,用Windows网络诊断,诊断出的结果是"DNS服务器未响应",遇到这样情况该怎样解决?在使用window系统的电脑上网过程中,常常会遇到DNS服务器未响应 ...
- 无线网首选dns服务器怎么设置,dns服务器设置(192.168.1.1的首选dns)
我们知道影响上网速度的因素有很多,硬件.软件等都是高速上网的基础,每个人都希望自家的网速越来快,在相同的硬件.带宽固定的情况下,如何来择优选择上网参数中的DNS服务器呢? DNS服务是网络参数必不少的 ...
- 本地连接dns服务器没响应,dns服务器未响应,教您dns服务器未响应怎么解决
dns服务器未响应是我们日常使用电脑上网时常遇到的网络故障之一.碰到这个情况的用户太多了,但是基本没有同一的解决方法,笔者当然也经常碰到,尤其是这几天,都快砸电脑了,太影响工作了,没有办法自己动手了, ...
最新文章
- iOS如何随意的穿插跳跃,push来pop去
- Linux 下面的时区与时间错误修复过程记载(血泪篇)
- html5 数据验证,【译】表单数据校验
- Bash 脚本 set 命令教程
- MySQL流浪记(六)—— CONCAT到GROUP_CONCAT的沿途风景(图文详解)
- Python中超类是如何知道自己被继承的
- AGG第十八课 agg::trans_affine仿射变换
- 把单元格一分为二_excel如何把一个单元格分成两个 excel单元格拆分为二行
- bzoj1861 [Zjoi2006]Book 书架
- hibernate之多对多映射操作中间表
- Java web系统打包成exe安装文件
- vue项目中/deep/的用法-vue-cli中没法覆盖样式解决方法
- ASP.NET MVC 远程请求图片 转化成BASE64然后通过HTTP输出流显示
- thinkpad T450 重新安装系统 win 10
- 关于PHP连接数据库出现:Fatal error: Uncaught Error: Call to undefined function mysql_connect()
- c语言流星雨程序下载,c语言 流星雨的实现.doc
- 【echarts 中国地图射线版本】vue实现中国地图航线动画效果,地图上添加散点效果【详细注释,通俗易懂】
- 通关HCIE-RS新版实验的正确姿势,请查收!
- 汽车发动机扭矩,转速,功率
- carbondate mysql_CarbonData集成Hive、Spark
热门文章
- 如何快速提取手机微信数据?
- 和平精英微信和qq不是一个服务器,和平精英qq和微信能一起玩吗 qq微信数据互通吗...
- 记一次spring5源码完整编译过程
- 简单差分运放公式推倒
- 吗 极域软件可以装win10_关于win10企业版在极域电子教室软件 v4.0 2015 豪华版的全屏控制下如何取得自由...
- 【cuda】——npp/cuda图像预处理resize+norm对比
- postman下载及安装
- 反向传播算法带动了业界使用两层神经网络研究的热潮
- 神经网络算法入门书籍,bp神经网络算法的优点
- 智慧城管系统提高城市综合管理水平