Python实现DNS转发
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import socket, SocketServer
class MyUDPHandler(SocketServer.BaseRequestHandler):
def handle(self):
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
socket.setdefaulttimeout(3)
sock.sendto(self.request[0], ('223.5.5.5', 53))
result = sock.recv(512)
sock.close()
self.request[1].sendto(result, self.client_address)
if __name__ == "__main__":
server = SocketServer.UDPServer(("0.0.0.0", 53), MyUDPHandler)
server.serve_forever()