我有一個反覆出現的問題,我用scapy發送的數據包沒有到達。我試圖用scapy和wireshark來嗅他們,但他們沒有被嗅到。就好像它們沒有被髮送,但發送它們的腳本顯示「發送1包」消息。scapy發送的數據包沒有到達,也不能被嗅探
我查了一下,發現this similar question問題可能是數據包被髮送到錯誤的接口。這似乎是可能的,因爲我scapy的默認iface設置爲「eth0」,並且我嗅探了我的wifi連接。如果這真的是問題,我該如何設置scapy來發送&在無線連接上嗅探?
代碼示例:
from scapy.all import *
message = raw_input("enter your message:")
for c in message:
packet = Ether()/IP(dst = "127.0.0.1")/UDP(sport = 4001, dport = ord(c))
send(packet)
raw_input()
在此腳本應該通過發送空的UDP數據包的端口標誌着信件發送消息到服務器。腳本運行良好,我只是沒有在我的「服務器」上獲得任何數據包,並且該腳本應該發送的數據包不能被嗅探。
編輯:我的操作系統是Windows 8.1
什麼是conf.route?如何檢查我要發送數據包的接口?我如何以root身份運行scapy?我試圖在網上搜索,但收效甚微。謝謝。 – user1461837
打開交互式會話(例如使用'sudo scapy'),並運行'conf.route'。你會看到你的路由是scapy解釋它們和相應的接口。由於scapy對路線做了自己的解釋,所以在發生錯誤的情況下, 127.0.0.1通過不同的接口發送。 –
我試過禁用防火牆並嘗試了conf.route中的所有接口。我很確定問題出在libdnet上。我已安裝它。我應該怎麼做?不管怎麼說,還是要謝謝你。 – user1461837