2016-12-26 76 views
2

我正在使用Python/Scapy發送DNS請求。我的電腦連接設置爲使用網關的DNS。我的網關是我的路由器(Linksys LNK4500)192.168.1.1,我的路由器連接設置爲使用8.8.8.8作爲它的DNS。scapy dns請求後面的路由器

如果我使用路由器地址的目的地,我會得到正確的響應。

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

但是,如果我想使用一個不同的DNS服務器,例如谷歌的,我嘗試

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

我得到迴應"WARNING: Mac address to reach destination not found. Using broadcast.",然後將數據包發送,但我不斷收到的數據包永遠沒有答案。

+1

你確定你的默認網關是正確定義的嗎? 'route'命令的輸出是什麼? – Yoel

回答

0

我不認爲你應該使用8.8.8.8。作爲IP.dst,因爲首先應該將數據包定向到您的路由器,而路由器又會將數據包發送到Google DNS服務器。