ARP协议详解 ------- 一看就懂

article/2025/9/25 1:30:37

ARP协议详解

  • 什么是ARP?
  • ARP的作用
  • ARP工作流程
  • 抓包分析
    • ARP请求报文
    • ARP应答报文
  • ARP表
  • 动态ARP表
  • 静态ARP表
  • 免费ARP
    • 免费ARP的作用有:
      • (1) 一个主机可以通过它来确定另一个主机是否设置了相同的 IP地址。
      • (2)更新其他主机高速缓存中旧的硬件地址信息。
      • (3)网关利用免费ARP防止ARP攻击
      • (4)利用免费ARP进行ARP攻击
  • 代理ARP
      • 为什么需要代理ARP?
      • 工作过程
      • 代理ARP的优缺点
        • 优点:
        • 缺点:
  • ARP攻击

什么是ARP?

ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。

ARP的作用

在以太网环境中,数据的传输所依懒的是MAC地址而非IP地址,而将已知IP地址转换为MAC地址的工作是由ARP协议来完成的。

在局域网中,网络中实际传输的是“”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。

所谓“地址解析”就是主机在发送帧前将目标IP地址转换目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

ARP工作流程

假设主机A和B在同一个网段,主机A要向主机B发送信息,具体的地址解析过程如下:

(1) 主机A首先查看自己的ARP表,确定其中是否包含有主机B对应的ARP表项。如果找到了对应的MAC地址,则主机A直接利用ARP表中的MAC地址,对IP数据包进行帧封装,并将数据包发送给主机B。

(2) 如果主机A在ARP表中找不到对应的MAC地址,则将缓存该数据报文,然后以广播方式发送一个ARP请求报文。

ARP请求报文中的发送端IP地址和发送端MAC地址主机A的IP地址和MAC地址目标IP地址和目标MAC地址主机B的IP地址和全0的MAC地址

由于ARP请求报文以广播方式发送,该网段上的所有主机都可以接收到该请求,但只有被请求的主机(即主机B)会对该请求进行处理。

(3) 主机B比较自己IP地址和ARP请求报文中的 目标IP 地址,当两者相同时进行如下处理:将ARP请求报文中的发送端(即主机A)的IP地址和MAC地址存入自己的ARP表中

之后以单播方式发送ARP响应报文给主机A,其中包含了自己的MAC地址。

(4) 主机A收到ARP响应报文后,将主机B的MAC地址加入到自己的ARP表中以用于后续报文的转发,同时将IP数据包进行封装后发送出去。

在这里插入图片描述

抓包分析

圈中一对ARP请求和ARP应答
在这里插入图片描述

ARP请求报文

请添加图片描述

ARP应答报文

在这里插入图片描述

ARP表

设备通过ARP解析到目的MAC地址后,将会在自己的ARP表中增加IP地址到MAC地址的映射表项,以用于后续到同一目的地报文的转发。
在这里插入图片描述

动态ARP表

动态ARP表项由ARP协议通过ARP报文自动生成和维护,可以被老化,可以被新的ARP报文更新,可以被静态ARP表项覆盖。当到达老化时间、接口down时会删除相应的动态ARP表项。

静态ARP表

静态ARP表项通过手工配置和维护,不会被老化,不会被动态ARP表项覆盖。
配置静态ARP表项可以增加通信的安全性。静态ARP表项可以限制和指定IP地址的设备通信时只使用指定的MAC地址,此时攻击报文无法修改此表项的IP地址和MAC地址的映射关系,从而保护了本设备和指定设备间的正常通信。

免费ARP

免费ARP指主机发送ARP查找自己的IP地址,通常发生在系统引导期间进行接口配置时。与标准ARP的区别就是免费ARP分组的目的IP地址字段封装的是自己的IP地址,即向所在网络请求自己的MAC地址。

免费ARP的作用有:

(1) 一个主机可以通过它来确定另一个主机是否设置了相同的 IP地址。

正常情况下发送免费ARP请求不会收到ARP应答,如果收到了一个ARP应答,则说明网络中存在与本机相同的IP地址的主机,发生了地址冲突。

(2)更新其他主机高速缓存中旧的硬件地址信息。

如果发送免费ARP的主机正好改变了硬件地址,如更换了接口卡。

其他主机接收到这个ARP请求的时候,发现自己的ARP高速缓存表中存在对应的IP地址,但是MAC地址不匹配,那么就需要利用接收的ARP请求来更新本地的ARP高速缓存表表项。

(3)网关利用免费ARP防止ARP攻击

有些网关设备在一定的时间间隔内向网络主动发送免费ARP报文,让网络内的其他主机更新ARP表项中的网关MAC地址信息,以达到防止或缓解ARP攻击的效果。

(4)利用免费ARP进行ARP攻击

ARP协议并不只在发送了ARP请求才接收ARP应答,计算机只要接收到ARP应答数据包,就会使用应答中的IP和MAC地址对本地的ARP缓存进行更新。

主机可以构造虚假的免费ARP应答,将ARP的源MAC地址设为错误的MAC地址,并把这个虚假的免费ARP应答发送到网络中,那么所有接收到这个免费ARP应答的主机都会更新本地ARP表中相应IP地址对应的MAC地址。更新成功后,这些主机的数据报文就会被转发到错误的MAC地址,从而实现了ARP欺骗的攻击。

代理ARP

代理ARP就是通过使用一个主机(通常为router),来作为指定的设备使用自己的 MAC 地址来对另一设备的ARP请求作出应答。

为什么需要代理ARP?

先要了解,路由器的重要功能之一就是把局域网的广播包限制在该网内,阻止其扩散,否则会造成网络风暴。

ARP请求是个广播包,它询问的对象如果在同一个局域网内,就会收到应答。但是如果询问的对象不在同一个局域网该如何处理?路由器就提供了代理ARP为这个问题提供了解决方案。

工作过程

在这里插入图片描述

两台主机A和B处于同一网段但不同的广播段(不在同一物理网络上)时,主机A发送ARP请求主机B的MAC地址时,因为路由器不转发广播包的原因,ARP请求只能到达路由器。如果路由器启用了代理ARP功能,并知道主机B属于它连接的网络,那么路由器就用自己接口的MAC地址代替主机B的MAC地址来对主机A进行ARP应答。主机A接收ARP应答,但并不知道代理ARP的存在。

代理ARP的优缺点

优点:

代理ARP能在不影响路由表的情况下添加一个新的Router,使子网对该主机变得透明化。一般代理ARP应该使用在主机没有配置默认网关或没有任何路由策略的网络上。

缺点:

从工作工程可以看到,这其实是一种ARP欺骗。而且,通过两个物理网络之间的路由器的代理ARP功能其实互相隐藏了物理网络,这导致无法对网络拓扑进行网络概括。此外,代理ARP增加了使用它的那段网络的ARP流量,主机需要更大的ARP缓存空间,也不会为不使用ARP进行地址解析的网络工作。

ARP攻击

ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的进行。

基于ARP协议的这一工作特性,黑客向对方计算机不断发送有欺诈性质的ARP数据包,数据包内包含有与当前设备重复的Mac地址,使对方在回应报文时,由于简单的地址重复错误而导致不能进行正常的网络通信。

一般情况下,受到ARP攻击的计算机会出现两种现象:
(1)不断弹出“本机的XXX段硬件地址与网络中的XXX段地址冲突”的对话框。
(2) 计算机不能正常上网,出现网络中断的症状。

因为这种攻击是利用ARP请求报文进行“欺骗”的,所以防火墙会误以为是正常的请求数据包,不予拦截。因此普通的防火墙很难抵挡这种攻击。


http://chatgpt.dhexx.cn/article/AmOW8X6S.shtml

相关文章

全网最全最详细的ARP协议介绍

ARP,Address Resolution Protocol,地址解析协议,解析IP地址得到MAC地址,基于数据链路层之上的协议,可以看成和网络层同一层级,通常称为2.5层协议,ARP是网络层与数据链路层的重要枢纽,它解决了网络层(软件)到数据链路层(硬件)的映射 ARP请求报文 数据通信的基础是在…

ARP协议介绍

什么是ARP? ARP(Address Resolution Protocol,地址解析协议)是用来将IP地址解析为MAC地址的协议。主机或三层网络设备上会维护一张ARP表,用于存储IP地址和MAC地址的映射关系,一般ARP表项包括动态ARP表项和…

图解 ARP协议工作流程

文章目录 概念工作原理工作过程举例 ARP报文格式 概念 ARP(Address Resolution Protocol),即地址解析协议。ARP协议是根据IP地址获取物理地址的一个TCP/IP协议。 主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机&#…

计算机网络 - ARP协议

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。 在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机和…

ARP协议原理

文章目录 引言初始ARPARP缓存表一句话总结ARP协议的工作ARP表项的建立对于局域网对于公网 ARP缓存表的超时处理ARP报文喜欢就关注我吧! 引言 从前一篇文章中,我们知道计算机中会维护一个ARP缓存表,这个表记录着IP地址与MAC地址的映射关系&am…

ARP协议简介

ARP,全称Address Resolution Protocol,中文名为地址解析协议,它工作在数据链路层,在本层和硬件接口联系,同时对上层提供服务。 数据链路如以太网或令牌环网都有自己的寻址机制,这是使用数据链路的任何网络层…

ARP协议详解,小白易懂

当网络设备有数据要发送给另一台网络设备时,必须要知道对方的网络层地址(即IP地址)。IP地址由网络层来提供,但是仅有IP地址是不够的,IP数据报文必须封装成帧才能通过数据链路进行发送。数据帧必须要包含目的MAC地址&am…

ARP 协议工作原理(同网段及跨网段)

目录 一、ARP简介 二、ARP的工作原理 三、ARP协议在同网段工作原理 四、ARP协议在不同网段工作原理 一、ARP简介 ARP全称是“Address Resolution Protocol”(地址解析协议),ARP作用于以太网的环境之中,以太网环境之中数据的传输依赖的是MAC地址并不是…

矩阵分析:特征值分解

矩阵分析:特征值分解 前置知识空间变换伸缩旋转 对称矩阵对称矩阵对角化 正交矩阵向量的基基变换不同基下的向量变换逆矩阵不同基下的空间变换 内积的几何意义 特征值、特征向量特征值分解代码 前置知识 空间变换 伸缩 一个矩阵其实就是一个线性变换,因…

关于矩阵特征值的理解

好久没看矩阵相关的东西,,,都忘光了,,,, 用运动来理解描述矩阵。 如何理解矩阵特征值? - 马同学的回答 - 知乎https://www.zhihu.com/question/21874816/answer/181864044 行列式是…

矩阵特征值求法实例

矩阵特征值 设 A 是n阶方阵,如果存在数m和非零n维 列向量 x,使得 Axmx 成立,则称 m 是矩阵A的一个特征值(characteristic value)或 本征值(eigenvalue)。 矩阵特征值方法 对于矩阵A,由AXλ 0X,λ…

MATLAB中有关矩阵特征值和特征向量的计算

在MATLAB语言中,求矩阵的特征值和特征向量需要用到两个函数:eig()、diag() diag():可生成一个对角矩阵 调用eig函数的格式为: [x,y]eig(A) 其中矩阵y的对角线元素存储的是A的所有特征值,且从小到大排列;而矩阵x的每一…

如何理解矩阵特征值的意义?

如何理解矩阵特征值的意义? 毕业多年,曾经有同事问我该如何理解特征值的意义? 当时,实在羞愧,我一学数学的,真不知该如何回答。 极力回想,也只能以“特征值的求法、步骤…bla…bla…”应付了事, 答非所问,简直了得! 这样的答案教科书里写得清清楚楚,网上Google…

线性代数及其应用:经典矩阵特征值证明

文章目录 前言实对称矩阵正交方阵实斜对称矩阵厄米矩阵正定矩阵相似矩阵投影矩阵反射矩阵Rank-1矩阵逆矩阵矩阵线性变换矩阵的n次方的稳定性e的矩阵次方的稳定性马尔科夫矩阵循环置换特征值分解谱定理Jordan标准型奇异值分解 前言 这里记录一下一些经典矩阵的特征值证明&#x…

数值分析 python_数值分析实验之矩阵特征值(Python代码)

一、实验目的 1.求矩阵的部分特征值问题具有十分重要的理论意义和应用价值; 2.掌握幂法、反幂法求矩阵的特征值和特征向量以及相应的程序设计; 3.掌握矩阵QR分解 二、实验原理 幂法是一种计算矩阵主特征值(矩阵按模最大的特征值)及对应特征向量的迭代方法, 特别是用于大型稀疏…

【机器学习中的数学基础】矩阵特征值、特征向量和特征值分解的几何意义

【机器学习中的数学基础】矩阵特征值、特征向量和特征值分解的几何意义 在《机器学习》西瓜书中的第十章提到了“多维缩放”(简称MDS)方法,该方法是一种经典的的降维方法。此方法的目标是获得样本在 d ′ d^{} d′维空间的表示,且…

python — numpy计算矩阵特征值,特征向量

文章目录 python — numpy计算矩阵特征值,特征向量一、数学演算二、numpy实现 转载请备注原文出处,谢谢:https://blog.csdn.net/pentiumCM/article/details/105652853 python — numpy计算矩阵特征值,特征向量 一、数学演算 示例…

利用矩阵特征值求解多项式的根

在PnL方法求相机位姿,Point—to—Line方法的点云匹配问题中,会将其中某一个参数的求解建模成求一个多项式的根。如下式所示: (1) 那么求解这样的一个多项式的根应该怎么做呢?参考文献1告诉我们可以利用矩阵特征值方法来求解&…

计算二阶矩阵特征值的技巧

1.计算二阶矩阵特征值的技巧 笔记来源:计算二阶矩阵特征值的妙计 1.1 平均特征值 1.2 特征值的积 1.3 求解特征值 根据以上两点,求出特征值 m m m 为平均特征值 λ 1 λ 2 2 \frac{\lambda_1\lambda_2}{2} 2λ1​λ2​​(两个特征值 λ…

矩阵特征值和特征向量详细计算过程

1.矩阵特征值和特征向量定义 A为n阶矩阵,若数λ和n维非0列向量x满足Axλx,那么数λ称为A的特征值,x称为A的对应于特征值λ的特征向量。式Axλx也可写成( A-λE)x0,并且|λE-A|叫做A 的特征多项式。当特征多项式等于0的时候&#x…