arp协议如何工作(网络层协议arp)
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请求报文进行“欺骗”,防火墙会将其误认为正常的请求报文,不会拦截。所以普通防火墙很难抵御这种攻击。
当然,你可以点击这里获得更多的信息文档和以前的视频文件,主要是因为你想给新手小白少走弯路。