源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2020-07-13 05:48 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:python实现DNS正向查询、反向查询的例子
[b]1.DNS查询过程:[/b] 以查询 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地址返回给电脑。 [b]2.域名和IP地址的对应关系:[/b] 一个域名可以对应多个IP地址,但在同一时刻,一个域名只能有一个IP地址,一个IP地址可以对应多个域名。 [b]3.查询DNS[/b] Python可以实现DNS的正向和反向查询。下面是[b]正向查询的代码: [/b]
[u]复制代码[/u] 代码如下:
#!/usr/bin/env python import sys,socket result=socket.getaddrinfo(sys,argv[1],None) print result[0][4]
因为一个域名可以有多个IP地址,所以上述程序两次运行的结果可能会不同。 运行程序 :
[u]复制代码[/u] 代码如下:
./test.py www.baidu.com
结果为 :
[u]复制代码[/u] 代码如下:
(‘111.13.100.91',80)
[b]反向查询: [/b]
[u]复制代码[/u] 代码如下:
#!/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"
运行程序
[u]复制代码[/u] 代码如下:
./test2  127.0.0.1
结果为:
[u]复制代码[/u] 代码如下:
hostname is localhost
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部