Example #1
0
                querysocket.close()

                connection.close()

            elif sock == udpsocket:
                data, address = sock.recvfrom(1024)
                # print data.encode("hex"), address
                upstreamServer = ('8.8.8.8', 53)
                querysocket = socket(AF_INET, SOCK_DGRAM)
                querysocket.sendto(data, upstreamServer)

                udpresponse, add = querysocket.recvfrom(1024)
                print "UDP Responsed"

                respond_DNS = DNS(udpresponse)

                if respond_DNS.is_error():
                    udpresponse = respond_DNS.fake_an_answer(MyIP)

                sock.sendto(udpresponse, address)
            else:
                print "incorrect socket:", sock


if __name__ == '__main__':

    DNSProxy()

    sys.exit(0)