arp协议如何工作(网络层协议arp)

1. 网络层1.1. ARP协议1.1.1. 前言1.1.2. ARP的基本概念Address Resolution Protocol,地址解析协议通过对方的IP地址去解析对方的MAC地址1.1.3. ARP的报文ARP报文格式硬件类型:标识硬件地址的类型,值为1表示以太网地址协议类型:表示要映射的协议地址类相关。0x0080表示IP地址类型硬件地址长度和协议地址长度,对于以太网上的IP地址的ARP请求或应答来说,他们的值分别为6和4操作类型(op):1表示ARP请求,2表示ARP应答,3表示R

1.网络层1.1。ARP协议

1.1.1.介绍

1.1.2.ARP的基本概念

地址解析协议

通过对方的IP地址解析出对方的MAC地址

1.1.3.ARP消息

ARP消息格式

Hardware type:标识硬件地址的类型,值1表示以太网地址。

协议类型:表示要映射的协议地址类别是相关的。0x0080表示IP地址类型

硬件地址长度和协议地址长度,对于以太网上IP地址的ARP请求或回复,它们的值分别为6和4。

类型(op): 1表示ARP请求,2表示ARP回复,3表示RARP请求,4表示RARP回复。

发送方硬件地址:发送方设备的硬件地址。

发送方协议地址:发送方设备的IP地址。

目标硬件地址:接收设备的硬件地址。

目标地址:接收设备的IP地址。

ARP请求消息

ARP响应消息

1.1.4.ARP的工作过程

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

主机A首先查看自己的ARP表,确定是否包含主机c对应的ARP表项,如果找到对应的MAC地址,主机A直接使用ARP表中的MAC地址来成帧IP包,并将包发送给主机c。

如果主机A在ARP表中找不到对应的MAC地址,就会缓存数据报文,然后通过广播发送ARP请求报文。ARP请求报文中发送方的IP地址和MAC地址是主机A的IP地址和MAC地址,目的IP地址和目的MAC地址是主机C的IP地址和全零的MAC地址。因为ARP请求消息是通过广播发送的,所以该网段上的所有主机都可以接收到该请求,但只有被请求的主机(即主机C)会处理该请求。

c主机将自己的IP地址与ARP请求报文中的目的IP地址进行比较,当一致时,进行如下处理:ARP请求报文中发送方(主机A)的IP地址和MAC地址存储在自己的ARP表中。然后以单播方式向主机A发送ARP响应报文,报文中包含自己的MAC地址。

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

当然,更多的资料文档和以前的视频文件都可以[],主要是我想给新手小白少走弯路。

1.1.5.ARP表

设备通过ARP解析到目的MAC地址后,会在自己的ARP表中添加IP地址到MAC地址的映射表项,以便用户以后转发报文到同一个目的地。

动态ARP表

动态ARP条目由ARP协议通过ARP报文自动生成和维护,可以老化,可以被新报文更新,可以被静态ARP条目覆盖。

到了老化时间,接口宕机,对应的动态ARP条目就会被删除。

静态ARP表

静态ARP表条目是手动配置和维护的,不会老化或被动态ARP表覆盖。

配置静态ARP条目可以增加通信的安全性。静态ARP条目可以将与具有指定IP地址的设备的通信限制为仅使用指定的MAC地址。此时,攻击报文无法修改该条目的ip地址与MAC地址的映射关系,从而保护了该设备与指定设备的正常通信。

ARP表的更新和老化

ARP表的更新条件

在实际环境中,只有同时满足两个条件,设备的ARP条目才会更新。

1.设备从IP接收ARP请求包或免费ARP包。

2.对应于此IP的ARP条目已经存在于设备的现有ARP条目中。

ARP表的老化时间

不同的系统对ARP条目的老化时间有不同的设置。在Windows2000/xp中,ARP条目的老化时间是2分钟。在大多数思科交换机中,该值为5分钟,而华为的设备一般为20分钟。

ARP表老化计时器

当满足以下任一条件时,设备的ARP条目的老化时间定时器将被重新充电

1.当设备响应的ARP条目更新时

2.设备调用ARP条目转发数据后

1.1.6.免费ARP

免费ARP的概念

*ARP是指主机发送ARP寻找自己的IP地址,这种情况一般发生在系统引导时配置接口的时候。与标准ARP的区别在于,free ARP将目的IP地址封装为自己的IP地址,即向网络请求自己的MAC地址。

免费ARP的功能

检测地址冲突

一般情况下,发送免费ARP请求不会收到ARP回复。如果收到ARP回复,说明网络中有和这台电脑IP地址相同的主机,存在地址冲突。

更新其他主机缓存中的旧硬件地址。

如果主机发送免费ARP只是改变硬件地址,如改变接口卡

当其他主机收到这个ARP请求时,发现自己的ARP缓存表中有对应的IP地址,但是MAC地址不匹配,需要使用收到的ARP请求更新本地ARP缓存表项。

在网关中使用免费ARP防止ARP攻击

一些网关设备在一定的时间间隔内主动向网络发送免费的ARP报文,以便网络中的其他主机更新ARP表中的网关MAC地址信息,从而防范或减轻ARP攻击。

用免费ARP攻击ARP

ARP协议并不是只在发送ARP请求后才收到ARP回复。只要电脑收到ARP回复包,就会使用回复包中的IP和MAC地址更新本地ARP缓存。

一个主机可以编造一个免费的ARP回复,将ARP的源MAC设置为错误的MAC地址,并将这个虚假的免费ARP回复发送到网络,那么所有收到这个免费ARP回复的主机都会更新本地ARP表项中对应IP地址对应的MAC地址。

更新成功后,这些主机的数据报文会被转发到错误的MAC地址,从而实现ARP欺骗。

1.1.7.代理ARP

代理ARP的概念

代理ARP(Proxy)就是用一台主机(通常是路由器)作为指定设备,用自己的MAC地址响应另一台设备的ARP请求。

一般来说,响应arp请求的是中间设备,而不是其他主机。

为什么需要代理ARP?

首先,路由器的重要作用之一就是将局域网的广播报限制在该网段内,防止其传播,否则会造成广播风暴。

ARP请求是广播,如果他问的对象在同一个局域网,他会收到ARP回复。如果查询对象不在局域网内怎么办?路由器提供代理ARP,为这个问题提供了解决方案。

代理ARP的工作机制

当两台主机A和B在同一个网段但不同的广播网段(不在同一个物理网络)时,当主机A发送主机B的MAC地址时,由于路由器不转发广播,ARP请求只能到达路由器。

如果路由器使用ARP代理功能,并且知道主机B属于它所连接的网络,那么路由器会使用自己的接口MAC地址而不是主机B的MAC地址对主机A进行ARP回复,主机A收到ARP回复,但不知道代理ARP的存在。

代理ARP的优缺点

优势

ARP可以在不影响路由表的情况下添加新的路由器,使得主网对主机透明。

在主机没有默认网关或路由策略的网络中,应该使用通用代理ARP。

劣势

从工作过程可以看出,这其实是一种ARP欺骗。

路由器在两个物理网络之间的代理ARP功能,实际上是将物理网络相互隐藏,无法总结网络拓扑。

代理ARP增加了使用它的网段的ARP流量,所以主机需要更大的ARP缓存空,对于不使用ARP进行地址解析的网络是行不通的。

1.1.8.ARP攻击

ARP攻击原理

ARP协议的基本功能是通过目标设备的IP地址查询目标设备的MAC地址,保证通信。基于ARP协议的这种工作特性,黑客不断向对方计算机发送欺诈性的ARP数据包,其中包含与当前设备重复的Mac地址,以至于当对方响应消息时,因为简单的地址重复错误而无法进行正常的网络通信。

ARP攻击引起的现象

不断弹出“本机XXX段硬件地址与网络中XXX段地址冲突”对话框。

电脑无法正常上网,出现网络中断症状。

注意:由于这种攻击使用ARP请求报文进行“欺骗”,防火墙会将其误认为正常的请求报文,不会拦截。所以普通防火墙很难抵御这种攻击。

当然,你可以点击这里获得更多的信息文档和以前的视频文件,主要是因为你想给新手小白少走弯路。