python中的webapp

时间:2011-07-02 11:59:38

标签: python dns

我有一个非常简单的想法,我想尝试一下。假设我有一个浏览器,例如chrome,我想搜索域名的IP,比如说www.google.com。我使用Windows 7,我已将dns查找属性设置为手动,并给出了我的服务器(用Python编写的)运行的地址127.0.0.1。我启动了我的服务器,我可以看到dns查询,但它非常奇怪,因为它显示这样的面孔:

WAITING FOR CONNECTION.........

.........recieved from :  ('127.0.0.1', 59339)

╟╝☺  ☺      ♥www♠google♥com  ☺ ☺

waiting for connectionreceived from来自我的服务器。如何获得人类可读的dns查询?

这是我的服务器代码(安静的小学但仍然):

以下是代码:

from time import sleep 
import socket 
host='' 
port=53 
addr_list=(host,port) 
buf_siz=1024 
udp=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) 
udp.bind(addr_list) 
while True: 
    print 'WAITING FOR CONNECTION.........' 
    data,addr = udp.recvfrom(buf_siz) print '.........recieved from : ',addr 
    sleep(3) 
    print data

1 个答案:

答案 0 :(得分:0)

DNS使用压缩算法并使用[length]字符串来表示域名的一部分(据我记得)。例如[3] WWW [6]谷歌[3]融为一体

查看DNS RFC,例如http://www.zoneedit.com/doc/rfc/rfc1035.txt