使用scapy进行arp spoffing ip forwarding

时间:2018-04-27 16:31:40

标签: python python-2.7 scapy arp

我使用scapy构建构建arp欺骗攻击。我已经准备好使用linux ip forwarding进行攻击了。

os.system("echo %s > /proc/sys/net/ipv4/ip_forward" % (f,))

但是我希望能够动态修改数据包并发送已编辑的数据包,因此我需要重新启动IP转发。我尝试使用此代码执行此操作,但是其他计算机/网关可以获得包装,尽管它们在攻击者中使用。

#gIP is the gatwaway ip
#arp t able is an arptable I gatherd before I started the attack
#both of them have the correct value so the problem dosent lay there
def pkt_handler(self, pkt):
        pkt.show()
        ip = pkt.getlayer(sp.IP)
        get_mac = lambda x: info.arp_table.get(x, info.arp_table[info.gIP])
        ether = sp.Ether(dst=get_mac(ip.dst))
        sp.sendp(ether/ip)

编辑: 经过大量调试并查看tcpdump后,我想我知道是什么导致了problam。如果客户端A和服务器B以及攻击者S.当客户端A发送给服务器B时,请说一个echo messege。服务器获取信息并通过发送给攻击者来响应它,但不知何故scapy无法嗅探信息,即使tcpdump可以。不知道什么是这个问题,任何帮助都会很好。

1 个答案:

答案 0 :(得分:0)

用于ip forward或arp spoof使用alerady已知的工具

-- O(n) in case the elements are hashable and no hash collisions

import Data.Hashable(Hashable)
import Data.HashSet(fromList, member)

twoEqual :: (Hashable a, Ord a) => [a] -> Bool
twoEqual xs = any (flip member hs) xs
    where hs = fromList xs

或使用EtterCAP