ARP协议介绍与ARP协议的攻击手法

ARP是什么?

ARP是通过网络地址(IP)来定位机器MAC地址的协议,它通过解析网络层地址(IP)来找寻数据链路层地址(MAC)的网络传输协议。

对个定义不能理解的话,可以结合 TCP/IP 模型图理解,如下:

image


image

ARP已经在很多网路层和数据链接层之间得以实现。不过在IPv6中用邻居发现协议(NDP)代替地址解析协议(ARP)。

我的理解,ARP协议类似编程中的底层系统函数,一般用户用不到,或者没有太多单独使用场景。它一般结合着上层的协议使用,比如上层的TCP、UDP协议在发包的时候,都必须要得到一些通信参数,比如本机IP,本机MAC,目标IP,目标MAC,如果在缺失MAC地址的时候,就会自动调用ARP协议,ARP会去自动获取到对方的MAC地址,并填充回来。

image

ARP协议工作原理

ARP协议的目的:根据IP地址,获取到机器的MAC地址。因为IP地址和MAC地址是两个关键的通信参数,没有他俩就做不了。

为什么要找MAC:IP和MAC都是用来定位机器的,IP地址的主要作用是在跨越不同网络的情况下进行通信时对设备进行寻址,以便把数据包正确地发送到目标计算机。IP地址是逻辑地址,用于在网络层寻址和路由选择。IP地址可以分为公共IP地址和私有IP地址。私有IP地址是在局域网中使用的,只在局域网内部有效,用于在局域网中进行内部通信。

MAC地址在网络接口控制器(NIC)中预设,一般由设备制造商分配,具有全球唯一性。在局域网中,设备之间的通信通常是通过MAC地址实现的,而不是通过IP地址。

下面将讲解ARP协议怎么能拿到对方MAC的过程,主要分为三个步骤:

  1. 广播找MAC过程

  2. 缓存IP、MAC过程

  3. 更新缓存过程

广播找MAC过程:比如说你已经有一个目标IP地址了,你想找这个IP的MAC地址,那么ARP会这样做,它会向路由(或交换机)广播一条消息,上面主要填写自己机器的信息,和想要的信息:

image

  • 网络层: 目标IP 表示要找个这个IP的MAC地址;

  • 网络层: 目标MAC 00:00:00:00:00:00 表示要找这个机器的MAC地址,先用0占位;

  • 链路层: 目标MAC ff:ff:ff:ff:ff:ff 表示在数据链路层进行广播,查找这个目标IP的MAC;

局域网内的所有机器,都会收到这条消息。

缓存IP、MAC过程:非目标机器收到这条消息,知道不是找它,直接丢弃。

当目标IP机器收到这条消息后,知道是在找他,他就给这个源IP和源MAC回复一条消息,说我的MAC是XXX,你备份一下吧。

源IP机器收到目标机器的MAC后,防止后期还要用到,又要去找,浪费时间,就在本地缓存一份。

所以每台主机都会缓存一份自己常用的IP和MAC地址表,类似下面的图:

image

更新缓存过程:局域网内,IP地址是可以变更的,当有一台或多台机器的IP发送了改变,那么他们本地维护的缓存表不就没法使用了?或者就乱套了,想找张三,变成找到李四了。

解决:在变更了自己的IP之后,那么他们就会在局域网内发送一个特殊ARP包,内容大致是说,我的IP地址变更了,MAC地址也附上,你们也把自己的缓存更新一下。然后局域网内的所有机器,都屁颠屁颠的跟着更新自己的缓存。

ARP协议下的攻击原理

更新缓存这个功能其实是个正常的功能,因为有些机器IP地址就是会经常变更,发个通告出来,让大家修改一下地址也没毛病。

问题就在于,有心怀不轨的攻击者,他就利用了这个不验证、不鉴权就直接修改缓存的机制。基于这个机制 ,攻击者就可以开始攻击了。

比如,他李四替换了张三的地址。更狠的,他直接把他自己主机地址和路由器的地址替换了,局域网内所有人的数据都往他机器上发了,他在转发出去,然后他就能截取别人的流量,别人的小秘密全被他知道了!

常见的攻击类型如下:

  • ARP 缓存投毒攻击使攻击者能够通过破坏网络的 ARP 表(MAC 到 IP 设备映射)来拦截网络设备之间的通信。

  • ARP 欺骗网关攻击中间人攻击是同时欺骗局域网内的主机和网关,局域网中用户的数据和网关的数据会发给同一个攻击者,这样,用户与网关的数据就会泄露。

  • ARP 泛洪攻击通过向网关发送大量ARP报文,导致网关无法正常响应。首先发送大量的ARP请求报文,然后又发送大量虚假的ARP响应报文,从而造成网关部分的CPU利用率上升难以响应正常服务请求,而且网关还会被错误的ARP表充满导致无法更新维护正常ARP表,消耗网络带宽资源。

  • IP地址冲突攻击通过对局域网中的物理主机进行扫描,扫描出局域网中的物理主机的MAC地址,然后根据物理主机的MAC进行攻击,导致局域网内的主机产生IP地址冲突,影响用户的网络正常使用。

攻击软件

  • Ettercap

image

  • Ettercap的中间人攻击,在它的选项栏里有四种:ARP缓存投毒,ICMP重定向,端口监听,DHCP欺骗。

    Ettercap的功能是很强大,从它的插件就可以看到功能有:发现可疑ARP活动、ARP响应、DNS欺骗、Dos攻击、发现连接(交换环境)、发现Ettercap活动、列出子网未使用的IP、隔离主机、MAC泛洪、ssltrip等。

  • WireShark

image

  • 网络流量截取、分析

防范

以下是一些防御ARP投毒攻击的方法:

  1. 使用静态ARP表项:在关键设备上配置静态ARP表项,避免动态ARP更新被恶意利用。

  2. 启用ARP检查:在交换机上启用ARP检查功能,过滤非法的ARP报文。

  3. 部署ARP防护软件:使用专门的ARP防护软件来监控和阻止可疑的ARP活动。

  4. 网络隔离:将网络划分为更小的广播域,限制ARP广播范围。

  5. 加强网络监控:实时监控网络流量,及时发现异常的ARP行为。

  6. 使用VPN:对重要通信使用VPN加密,防止ARP欺骗导致的数据泄露。

  7. 及时更新系统补丁:保持操作系统和网络设备固件的最新更新,修复已知漏洞。

  8. 教育用户:培训网络用户识别潜在的ARP攻击迹象。

  9. 使用安全协议:在可能的情况下,使用更安全的协议如IPv6来替代ARP (IPv6替换了ARP协议)。

  10. 定期安全审计:定期进行网络安全审计,检查ARP表和网络配置。

这些方法可以综合使用,以提高网络对ARP投毒攻击的防御能力。

文章转载自:Mysticbinary

原文链接:https://www.cnblogs.com/mysticbinary/p/18296411

体验地址:引迈 - JNPF快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/44377.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《恋与深空》2.0上线肉鸽模式,乙游玩家会买账吗?

乙游和肉鸽,看似八竿子打不着的两个赛道,被叠纸给融合起来了。 根据《恋与深空》官方消息,即将在7月15日更新的2.0交错视界版本中,会上线全新常驻玩法“混沌深网”,配置高随机性Roguelike模式,并搭载了管理…

理想文档发布了~一个集合了多个优秀开源项目的在线云文档

两年前我做了一个简单的在线云文档项目,选择了开源的思维导图、白板、流程图、幻灯片等项目,在它们基础上添加了云存储的功能,然后写了一个简单的工作台管理文件夹和文件: 放在了自己的个人网站上使用,同时写了一篇水文…

【Leetcode 每日一题】349. 两个数组的交集

给定两个数组 nums1 和 nums2 ,返回 它们的 交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1: 输入:nums1 [1,2,2,1], nums2 [2,2] 输出:[2]示例 2: 输入:nums…

[web]-代码审计-运维失误

打开页面可以看到如下: 1、查看源代码,发现验证码功能是正常生成的随机的,输入也没有过滤,无法采用爆破。 2、根据题目提示运维失误,使用dirsearch扫描,发现提交的地址check.php, 使用php5、.bak可以打开&…

2.The DispatcherServlet

The DispatcherServlet Spring的Web MVC框架与许多其他Web MVC框架一样,是请求驱动的,围绕一个中央Servlet(即DispatcherServlet)设计,该Servlet将请求分派给控制器,并提供其他功能以促进Web应用程序的开发…

创建I/O文件fopen

#include〈stdio.h〉 int mian(int argc,char *argv[]){ FILE *fp;//结构体fp fpfopen(“1.txt”,“r”); }

程序的控制结构——if-else语句(双分支结构)【互三互三】

目录 🍁 引言 🍁if-else语句(双分支结构) 👉格式1: 👉功能: 👉程序设计风格提示: 👉例题 👉格式2: 👉…

Monaco 使用 ColorProvider

Manco 中可以使用调色板对色值进行修改,首先看一下调色版效果。 调色板是 Monaco-Editor 中一个特别的组件,通过两个方法实现呼出调色板,provideColorPresentations 显示调色窗口,provideDocumentColors 监听页面的变更&#xff0…

如何将libwebsockets库编译为x86架构

在之前的文章中,我们已经详细介绍了如何交叉编译libwebsockets并将其部署到ELF 1开发板上。然而在调试阶段,发现将libwebsockets在Ubuntu环境下编译为x86架构可能更为方便和高效。 通过在主机环境中编译运用x86架构下的libwebsockets库,可以…

阿里ChatSDK使用,开箱即用聊天框

介绍: 效果:智能助理 ChatSDK,是在ChatUI的基础上,结合阿里云智能客服的最佳实践,沉淀和总结出来的一个开箱即用的,可快速搭建智能对话机器人的框架。它简单易上手,通过简单的配置就能搭建出对…

Flowable工作流引擎核心事件详细解释说明

Flowable工作流引擎核心事件详细解释说明 流程执行事件 需要了解全部详细事件的请看这个链接Flowable(一个开源的工作流和业务流程管理引擎)中与事件相关的一些核心概念 流程开始和结束事件 PROCESS_STARTED:标记流程实例的开始。PROCESS…

公益快报 | 中科亿海微以企业奖学金为纽带,深化校企合作

近日,为回报母校、激励湖南大学机器人视觉感知与控制技术国家工程研究中心广大学生,中科亿海微电子科技(苏州)有限公司(简称“中科亿海微”)捐赠设立企业奖学金。此项奖学金的设立标志着校企合作迈向全方位…

【C++】C++中struct结构体和class类的区别

在C中, struct 和 class 在很多方面都非常相似,它们都可以包含数据成员(变量)和成员函数(方法)。然而,它们之间还是存在一些关键的区别: 1. 默认访问权限 struct 的成员默认是 pub…

实现组件存储 WinSxS 文件夹解析

目录 背景 目录名的组成 解析目录结构 更新&总结 文章出处链接:[https://blog.csdn.net/qq_59075481/article/details/140385969]. 背景 WinSxS 文件夹位于 Windows 文件夹中,例如 C: \Windows\WinSxS。它是 Windows 组件存储文件的位置。 Wind…

深入理解Spring Boot中的日志框架选择

深入理解Spring Boot中的日志框架选择 大家好,我是微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 1. 背景与需求 在开发和运维中,日志是不可或缺的重要组成部分。Spring Boot作为一个流行的Java开…

idea启动vue项目一直卡死在51%,问题分析及其如何解决

如果你的项目也一直卡在百分之几十&#xff0c;你可以参考下面的方法&#xff0c;试一试能否解决 问题描述&#xff1a; 通过在idea终端中输入命令 npm run serve 启动vue项目&#xff0c;启动进程一直卡在51% 如何解决&#xff1a; 检查 < template > 标签中的html内容…

深度学习中的超参管理方法:argparse模块

在深度学习方法中我们不可避免地会遇到大量超参数如&#xff08;batch_size、learning_rate等&#xff09;。不同的超参数组合可以得到不同的训练/测试结果。所以在训练和测试过程中我们需要不断调整超参数获得理想的结果&#xff08;炼丹&#xff09;&#xff0c;如果每一次去…

破解世纪难题:颠覆性方案解锁世界十大未解之谜

前言 在科学的浩瀚宇宙中&#xff0c;始终存在一些引人入胜的谜题&#xff0c;它们挑战着人类智慧的极限。这些谜题不仅涵盖了数学、物理、天文学和生物学等领域&#xff0c;还触及到意识和宇宙的本质。破解这些世纪难题&#xff0c;不仅意味着人类知识的巨大飞跃&#xff0c;…

【Windows】硬链接和软链接(OneDrive同步指定目录?)

文章目录 一、场景带入二、Windows下的硬链接和软链接2.1 硬链接&#xff08;Hard Link&#xff09;2.2 软链接&#xff08;符号链接&#xff0c;Symbolic Link&#xff09;2.3 软链接和快捷方式2.4 应用场景 三、OneDrive中的应用3.1 错误姿势3.2 好像可行的尝试3.3 合理的解决…

智能猫砂盆两种类型怎么选?深度剖析热门前三的品牌!

应该也有很多铲屎官像我一样&#xff0c;第一个入手的通常都是封闭式的智能猫砂盆&#xff0c;自动清洁是很好用&#xff0c;但问题也随之而来。有时候滚筒式的智能猫砂盆会在清洁过程中将砂团摔碎&#xff0c;导致粪便暴露出来产生臭味&#xff0c;这样我们回来不得不又再次进…