手机
当前位置:查字典教程网 >脚本专栏 >python >python实现DNS正向查询、反向查询的例子
python实现DNS正向查询、反向查询的例子
摘要:1.DNS查询过程:以查询www.baidu.com为例(1)电脑向本地域名服务器发送解析www.baidu.com的请求(2)本地域名服务...

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实现DNS正向查询、反向查询的例子】相关文章:

python实现网页链接提取的方法分享

python实现监控windows服务并自动启动服务示例

python实现目录树生成示例

python单链表实现代码实例

使用python实现strcmp函数功能示例

python二分法实现实例

python实现dict版图遍历示例

python实现socket客户端和服务端简单示例

python实现巡检系统(solaris)示例

ptyhon实现sitemap生成示例

精品推荐
分类导航