Python ARP缓存投毒(ARP欺骗)

原理介绍

https://mohen.blog.csdn.net/article/details/100576912

投毒技术

ARP投毒的逻辑:欺骗目标设备,使其相信我们是它的网关;然后欺骗网关,告诉它要发给目标设备的所有流量必须交给我们转发。网络上的每一台设备,都维护着一段ARP缓存,里面记录着最近一段时间本地网络上的MAC地址和IP地址的对应关系。为了实现这一攻击,我们会往这些ARP缓存中投毒,即在缓存中插入我们编造的记录。另外,ARP投毒只对IPv4有效,对IPv6是无效的。

代码

arper.py

#!/usr/bin/python
#-*- coding:utf8 -*-

from scapy.all import *
from multiprocessing import Process
import os
import sys
import time

# 获取任意设备的MAC地址
def get_mac(targetip):
    # 传入目标IP地址并创建一个查询数据包
    # Ether函数将这个数据包全网广播
    # ARP函数构造一个MAC地址查询请求,询问每个节点其它地址是否为这个目标IP地址
    packet = Ether(dst='ff:ff:ff:ff:ff:ff')/ARP(op='who-has',pdst=targetip)
    # srp函数发送和接收数据包,发送指定ARP请求到指定IP地址,然后从返回的数据中获取目标ip的mac

猜你喜欢

转载自blog.csdn.net/u012206617/article/details/131677173