电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

北邮计算机网络课程设计DNS服务器

北邮计算机网络课程设计DNS服务器_第1页
1/7
北邮计算机网络课程设计DNS服务器_第2页
2/7
北邮计算机网络课程设计DNS服务器_第3页
3/7
北邮计算机网络课程设计DNS 服务器 1 环境 操作系统随意,语言python2.7 2.文件 Socket.py 说明 完成缓存检测,确定是回应,还是转发,如果是回应,确定是本地回应还是外部应答转发 import socket import mydic import charhandle import makeframe s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) port = 53 the_dic = mydic.get_web_ip() client_request = {} client_request_index = {} reverse_map = {} key_record = 0 client_wait = [] s.bind(('',port)) time_rest = 0 request_general = '' print 'running' while True: try: msg , (client,port) = s.recvfrom(1024) except: print 'Time out! ' continue request = [] request = list(msg) requre_web = charhandle.get_request(request[12:]) website = ''.join(requre_web) if(port == 53): answer = [] answer = list(msg) print "Type:Remote Response" print "remote answer is: " response_ip = msg[-4]+msg[-3]+msg[-2]+msg[-1] char_ip = socket.inet_ntoa(response_ip) print website + ' has the ip : '+char_ip fre = mydic.storeForUpdate(website,char_ip ) print 'with the frequence of '+ str(fre) ###real_request = client_request[request[0]+request[1]] for each_client in client_wait: my_key = client_request[request[0]+request[1]+str(each_client)] if client_request_index.get(my_key) != None : s.sendto(msg,client_request_index[my_key]) print "Response to ip and Client port:" print client_request_index[my_key] break else: print "Type: Client Request" print "ip and port:" print (client,port) ### requre_web = charhandle.get_request(request[12:]) ### website = ''.join(requre_web) print "Request website:"+website if(the_dic.get(website) != None): print "Found in local cache:" re_ip = the_dic.get(website) print re_ip fre = mydic.storeForUpdate(website) print re_ip[0]+' with frequence '+str(fre) zhen = makeframe.make(re_ip[0],msg) s.sendto(zhen,(client,port)) else: print "need to as...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

北邮计算机网络课程设计DNS服务器

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部