北邮计算机网络课程设计DNS 服务器 1 环境 操作系统随意,语言python2
文件 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]+m