需要下载的库
可以直接通过pip下载
pip install scapy
ARP欺骗原理
设网关的IP为10.10.10.1,MAC为11:22:33:44:55:AA;
攻击主机的IP为10.10.10.3,MAC为11:22:33:44:55:CC;
受害主机的IP为10.10.10.2,MAC为11:22:33:44:55:BB;

1、攻击主机向网关和目标主机发送ARP欺骗报文,告诉目标主机pc2我是网关,但包中的mac地址为攻击主机pc1的mac地址;告诉网关我是目标主机pc2,但包中的mac地址为攻击主机pc1的mac地址。

2、3即目标主机和网关之间的联系,其实都是向攻击主机发送,由攻击主机先接收,再由攻击主机发送原本应该接收的主机。

源代码:
其中getmac函数对于返回包中源mac地址获取,可以参考python3编写arp扫描器[玩具]中有对srp返回包的结构分析(很详细!)
from scapy.all import *
def getmac(target_ip):
arp_p=Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(op=1,pdst=target_ip)
ans=srp(arp_p,timeout
3611



被折叠的 条评论
为什么被折叠?



