python实现DNS正向查询、反向查询的例子
时间:2022-10-29 07:18:55
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,正向查询,反向查询
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
JS onmousemove鼠标移动坐标接龙DIV效果实例
2023-08-08 19:59:13
![](https://img.aspxhome.com/file/2023/0/56030_0s.gif)
ASP常见数学函数 Abs Atn Cos 等详解
2008-05-28 12:33:00
如何对PHP程序中的常见漏洞进行攻击(下)
2023-11-16 14:50:19
Oracle中sys和system的区别小结
2009-11-10 20:36:00
php session安全问题分析
2023-11-15 06:45:29
asp网站生成静态页面攻略
2007-11-04 15:09:00
网页栅格系统研究(3):粒度问题
2008-10-28 19:46:00
![](https://img.aspxhome.com/file/UploadPic/200810/28/2008102819524130s.png)
Golang使用ini库读取配置详情
2023-07-02 07:46:56
![](https://img.aspxhome.com/file/2023/5/89035_0s.webp)
sqlserver中获取月份的天数的方法分享
2011-09-30 11:27:52
Oracle如何直接运行OS命令(下)第1/2页
2010-07-30 13:26:00
python Multiprocessing.Pool进程池模块详解
2023-08-25 09:24:59
MySQL:使用源码分发版还是二进制分发版
2009-09-01 10:35:00
mssql存储过程表名和字段名为变量的实现方法
2011-12-01 07:59:13
用Css来制作一个漂亮的多选列表框
2008-05-29 12:45:00
如何让新页面在新窗口打开?
2009-04-12 19:41:00
AJAX的jQuery实现入门(一)
2008-05-01 12:55:00
![](https://img.aspxhome.com/file/UploadPic/20085/1/20085113327455s.gif)
文字适度阅读的宽度或者字数
2007-10-26 07:31:00
页面无刷新调用数据(IFRAME+js)
2009-06-01 11:29:00
js创建一个input数组并绑定click事件的方法
2023-08-15 02:35:09
分享几个字体设计
2007-10-10 13:53:00
![](https://img.aspxhome.com/file/UploadPic/200710/10/2007101014120666s.jpg)