当前位置:  编程技术>python

python实现DNS正向查询、反向查询的例子

    来源: 互联网  发布时间:2014-10-04

    本文导语:  1.DNS查询过程: 以查询 www.baidu.com为例 (1)电脑向本地域名服务器发送解析www.baidu.com的请求(2)本地域名服务器收到请求后,先查询本地的缓存,如果找到直接返回查询结果,如果没有该记录,本地域名服务器把www.baidu.com的...

1.DNS查询过程:

以查询 www.baidu.com为例

(1)电脑向本地域名服务器发送解析www.baidu.com的请求
(2)本地域名服务器收到请求后,先查询本地的缓存,如果找到直接返回查询结果,如果没有该记录,本地域名服务器把www.baidu.com的请求发送给根域名服务器
(3)根域名服务器收到请求后,把.com域的服务器IP地址返回给本地域名服务器
(4)本地域名服务器连接.com服务器,向其请求解析域名www.baidu.com, .com服务器把baidu.com服务器的IP地址返回给本地DNS服务器
(5)本地DNS服务器向baidu.com服务器发送解析域名请求,baidu.com服务器将www.baidu.com的IP地址返回给本地DNS服务器
(6)本地DNS服务器把www.baidu.com的IP地址返回给电脑。

2.域名和IP地址的对应关系:

一个域名可以对应多个IP地址,但在同一时刻,一个域名只能有一个IP地址,一个IP地址可以对应多个域名。

3.查询DNS

Python可以实现DNS的正向和反向查询。下面是正向查询的代码:

代码如下:

#!/usr/bin/env python
import sys,socket
result=socket.getaddrinfo(sys,argv[1],None)
print result[0][4]

因为一个域名可以有多个IP地址,所以上述程序两次运行的结果可能会不同。

运行程序 :

代码如下:
./test.py www.baidu.com

结果为 :
代码如下:
(‘111.13.100.91',80)

反向查询:

代码如下:

#!/usr/bin/env python
import sys,socket
try:
 result=socket.gethostbyaddr(sys.argv[1])
 print "hostname is "+result[0]
except socket.herror,e:
 print "can't look up"

运行程序

代码如下:
./test2  127.0.0.1

结果为:
代码如下:
hostname is localhost

    
 
 

您可能感兴趣的文章:

  • Python时区设置方法与pytz查询时区教程
  • Python查询Mysql时返回字典结构的代码
  • Python中让MySQL查询结果返回字典类型的方法
  • python正则匹配查询港澳通行证办理进度示例分享
  • python使用urllib模块和pyquery实现阿里巴巴排名查询
  • python自动化工具日志查询分析脚本代码实现
  • python实现ip查询示例
  • Python ORM框架SQLAlchemy学习笔记之安装和简单查询实例
  • python实现百度关键词排名查询
  • python使用在线API查询IP对应的地理位置信息实例
  • python实现2014火车票查询代码分享
  • Python ORM框架SQLAlchemy学习笔记之数据查询实例
  • Python操作Mysql实例代码教程在线版(查询手册)
  • 布同自制Python函数帮助查询小工具
  • Python中变量交换的例子
  • java直接调用python脚本的例子
  • Python操作json数据的一个简单例子
  • python中使用urllib2获取http请求状态码的代码例子
  • python使用PyFetion来发送短信的例子
  • python中cPickle用法例子分享
  • Python 用户登录验证的小例子
  • shell脚本中执行python脚本并接收其返回值的例子
  • Python 命令行非阻塞输入的小例子
  • Python中使用urllib2防止302跳转的代码例子
  • python实现文件分组复制到不同目录的例子
  • Python中的CURL PycURL使用例子
  • Python中使用item()方法遍历字典的例子
  • python中合并两个文本文件并按照姓名首字母排序的例子
  • python中使用OpenCV进行人脸检测的例子
  • 使用python调用浏览器并打开一个网址的例子
  • Python实现的简单万年历例子分享
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • python实现绘制树枝简单示例
  • 基于python实现的网络爬虫功能:自动抓取网页介绍
  • Python3实现生成随机密码的方法
  • Python3通过request.urlopen实现Web网页图片下载
  • python调用短信猫控件实现发短信功能实例
  • 在Python3中使用urllib实现http的get和post提交数据操作
  • Python实现多行注释的另类方法
  • juqery的python实现:pyquery学习使用教程
  • python 布尔操作实现代码
  • 数据结构:图(有向图,无向图),在Python中的表示和实现代码示例
  • python实现的重启关机程序实例
  • Python中无限元素列表的实现方法
  • python 实现插入排序算法
  • python使用循环实现批量创建文件夹示例
  • python 实现文件的递归拷贝实现代码
  • python判断端口是否打开的实现代码
  • python实现哈希表
  • python冒泡排序算法的实现代码
  • Python实现冒泡,插入,选择排序简单实例
  • python实现倒计时的示例
  • Python不使用print而直接输出二进制字符串
  • 数据结构:图(有向图,无向图),在Python中的表示和实现代码示例 iis7站长之家
  • Python中实现json字符串和dict类型的互转
  • 使用setup.py安装python包和卸载python包的方法
  • python异常信息堆栈输出到日志文件
  • 不小心把linux自带的python卸载了,导致安装一个依赖原python的软件不能安装,请问该怎么办?
  • python下用os.execl执行centos下的系统时间同步命令ntpdate
  • Python开发者社区整站源码 Pythoner
  • Python namedtuple对象json序列化/反序列化及对象恢复
  • python读取csv文件示例(python操作csv)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3