2016-12-26 4 views
2

Ich benutze Python/Scapy, um DNS-Anfragen zu senden. Die Verbindung meines Computers ist so eingerichtet, dass der DNS des Gateways verwendet wird. Mein Gateway ist mein Router (Linksys LNK4500) bei 192.168.1.1 und die Verbindung meines Routers ist so eingerichtet, dass er 8.8.8.8 als DNS verwendet.Scapy DNS-Anfrage hinter Router

Wenn ich das Ziel verwende, das die Adresse des Routers ist, bekomme ich eine korrekte Antwort.

sr1(IP(dst="192.168.1.1")/UDP()/DNS(rd=1,qd=DNSQR(qname="www.cnn.com"))) 

Allerdings, wenn ich einen anderen DNS-Server verwendet werden soll, zum Beispiel von Google, und ich versuche

sr1(IP(dst="8.8.8.8")/UDP()/DNS(rd=1,qd=DNSQR(qname="www.cnn.com"))) 

ich eine Antwort "WARNING: Mac address to reach destination not found. Using broadcast." bekommen und dann das Paket gesendet wird, aber ich halte Empfangen von Paketen für immer ohne Antwort.

+1

Sind Sie sicher, dass Ihr Standard-Gateway korrekt definiert ist? Was ist die Ausgabe des Befehls 'route'? – Yoel

Antwort

0

Ich glaube nicht, dass Sie 8.8.8.8 verwenden sollten. als IP.dst, weil zuerst das Paket an Ihren Router weitergeleitet werden soll, der seinerseits das Paket an den DNS-Server von Google sendet.