ARP与免费ARP的区别

合集下载

arp名词解释

arp名词解释

arp名词解释ARP(Address Resolution Protocol)是一种网络通信协议,用于将网络层地址(IP地址)转化为链路层地址(MAC地址)。

ARP的作用是帮助网络设备在进行通信时成功地将数据包从源设备传输到目标设备。

在计算机网络中,每个设备都具有唯一的IP地址来进行通信。

IP地址是在网络层进行使用的,用于在网络中定位设备。

然而,在链路层(物理层和数据链路层)中,设备使用的是MAC地址。

MAC地址是与设备网卡硬件相关联的全球唯一标识符,用于在局域网中寻址。

当一个设备试图与另一个设备进行通信时,它需要知道目标设备的MAC地址。

为了获得目标设备的MAC地址,源设备会通过ARP协议发送一个ARP请求广播,该广播中包含源设备的IP地址。

网络中的所有设备都会接收到这个广播消息。

目标设备在收到该消息后,会回应一个ARP响应,包含自己的MAC地址。

源设备通过接收到的ARP响应获取到目标设备的MAC地址,并将其存储在本地的ARP缓存中,供以后使用。

当源设备想要向目标设备发送数据包时,它会检查本地的ARP缓存来查找目标设备的MAC地址。

如果缓存中没有目标设备的MAC地址,源设备会再次发送ARP请求来获取最新的MAC地址。

目标设备收到ARP请求后,会再次发送ARP响应,包含自己的MAC地址。

源设备获取到目标设备的MAC地址后,就可以将数据包封装在链路层的帧中,并将其发送给目标设备。

ARP协议的核心是通过广播信息来获取目标设备的MAC地址,这使得ARP协议具有一定的开销和安全风险。

由于ARP请求和响应在网络中广播,因此可能会导致网络拥堵。

此外,ARP 协议缺乏身份验证和安全机制,可能会受到ARP欺骗攻击,其中攻击者会发送虚假的ARP响应来欺骗源设备。

为了解决上述问题,还有一些衍生的ARP协议,如Gratuitous ARP(免费ARP)和Proxy ARP(代理ARP)。

Gratuitous ARP用于设备在网络重启或更换MAC地址后,向局域网中所有的设备发送一个包含自己新MAC地址的ARP响应,以更新其他设备的ARP缓存。

交换机Gratuitous-ARP(免费ARP)侦测

交换机Gratuitous-ARP(免费ARP)侦测

Gratuitous ARP,被翻译为“免费ARP”,也被称为“无故ARP”,其实相比于“免费”这个翻译,“无故”会更好理解:“在没有人问自己的情况下,无缘无故自问自答”。

Gratuitous ARP不同于一般的ARP 请求,它并不是期待得到IP相应的MAC地址,而是当主机启动的时候,将发送一个Gratuitous arp请求,即请求自己的IP地址的MAC 地址。

免费ARP有以下两个作用:1.验证IP是否冲突一个主机能够通过它来确定还有一个主机是否设置了同样的IP 地址。

发送主机并不须要一定收到此请求的回答。

假设收到一个回答,表示网络中存在与自身IP同样的主机。

假设没有收到应答,则表示本机所使用的IP与网络中其他主机并不冲突。

2.更换物理网卡假设发送ARP的主机正好改变了物理地址(如更换物理网卡),能够使用此方法通知网络中其他主机及时更新ARP缓存。

免费ARP动作:disable、request、reply,及request和reply,当为disable时,该协议模块不会周期发送免费ARP,request时会定期向外发送免费ARP,免费ARP动作中实际只有disable和request有效,只有在收到request请求时,才会往外发送reply报文。

兆越通讯交换机可以通过发送免费ARP报文来确定网络中其它设备的IP地址是否与自己冲突。

免费ARP报文中携带的源IP和目的IP地址都是交换机本机地址,报文源MAC地址是本机MAC地址。

兆越通讯交换机缺省情况下即可以对接收到的免费ARP报文进行处理,当收到免费ARP报文后,如果发现报文中的IP地址和自己的IP地址冲突,则给发送免费ARP报文的设备返回一个ARP应答,告知该设备IP地址冲突。

同时交换机也会通过日志来告知用户网络中出现了IP地址冲突。

缺省情况下,兆越通讯交换机的免费ARP报文发送功能处于关闭状态。

可以通过下面的命令在交换机的路由端口上配置免费ARP 功能。

免费ARP的作用

免费ARP的作用

免费ARP是指主机发送ARP查找自己的IP地址。

通常,它发生在系统引导期间进行接口配置的时候。

在互联网中,如果我们引导主机bsdi并在主机sun上运行tcpdump命令,可以看到如下所示的分组。

0:0:c0:6f:2d:40 ff:ff:ff:ff:ff:ff arp 60:arp who-has 140.252.13.35 tell 140.252.13.35对于ARP请求中的各个字段来说,发送端的协议地址和目的端的协议地址是一致的:即主机bsdi的地址140.252.13.35。

另外,以太网报头中的源地址0:0:c0:6f:2d:40,正如tcpdump命令显示的那样,等于发送端的硬件地址免费ARP可以有两个方面的作用:1)一个主机可以通过它来确定另一个主机是否设置了相同的IP地址。

主机bsdi并不希望对此请求有一个回答。

但是,如果收到一个回答,那么就会在终端日志上产生一个错误消息“以太网地址:a:b:c:d:e:f发送来重复的IP地址”。

这样就可以警告系统管理员,某个系统有不正确设置。

2)如果发送免费ARP的主机正好改变了硬件地址(很可能是主机关机了,并换了一块接口卡,然后重新启动),那么这个分组就可以使其他主机高速缓存中旧的硬件地址进行相应的更新。

一个比较著名的ARP协议事实是,如果主机收到某个IP地址的ARP请求,而且它已经在接收者的高速缓存中,那么就要用ARP请求中的发送端硬件地址对高速缓存中相应的内容进行更新。

主机接收到任何ARP请求都要完成这个操作(ARP请求是在网上广播的,因此每次发送ARP请求时网络上的所有主机都要这样做)。

免费ARP的作用,目前,免费ARP的作用有两种。

第一种就是刚才上面所说的宣告广播的作用,以告诉整个广播域,目前这个IP所对应的MAC地址是什么。

第二种是看看广播域内有没有别的主机使用自己的IP,如果使用了,则在界面上弹出“IP冲突”字样。

普通ARP 请求报文广播发送出去,广播域内所有主机都接收到,计算机系统判断ARP请求报文中的目的IP地址字段,如果发现和本机的IP地址相同,则将自己的MAC地址填写到该报文的目的MAC地址字段,并将该报文发回给源主机。

arping命令详解

arping命令详解

arping命令详解⼀、版本arping命令是⽤于发送arp请求到相邻主机的⼯具,arping使⽤arp数据包arping有两个版本,⼀个版本是Thomas Habets这个⼈写的,这个版本有个好处是可以arping <MAC地址>,也就是说我们可以通过MAC地址得到IP。

还有⼀个版本是Linux iputils suite的,这个版本就不能通过MAC地址,解析出IP地址了。

可以使⽤arping -V来查看⾃⼰系统的arping的版本据观察Redhat\CentOS使⽤的是Linux iputils suite版本的,debian使⽤的是Thomas Habets。

注意两个版本的的arping使⽤的参数有很⼤的区别,所以要根据⾃⼰的arping版本去使⽤相应的参数。

不看版本在⽹上抄的命令可能在⾃⼰的系统上⽆法执⾏。

下⾯介绍Linux iputils suite版本的arping命令⽤法。

⼆、语法Usage: arping [-fqbDUAV] [-c count] [-w timeout] [-I device] [-s source] destination三、参数释义-A:与-U参数类似,但是使⽤的是ARP REPLY包⽽⾮ARP REQUEST包。

-b:发送以太⽹⼴播帧,arping在开始时使⽤⼴播地址,在收到回复后使⽤unicast单播地址。

-c:发送指定的count个ARP REQUEST包后停⽌。

如果指定了-w参数,则会等待相同数量的ARP REPLY包,直到超时为⽌。

-D:重复地址探测模式,即,Duplicate address detection mode (DAD),⽤来检测有没有IP地址冲突,如果没有IP冲突则返回0。

-f:收到第⼀个响应包后退出。

-h:显⽰帮助页。

-I:⽤来发送ARP REQUEST包的⽹络设备的名称。

-q:quite模式,不显⽰输出。

-U:⽆理由的(强制的)ARP模式去更新别的主机上的ARP CACHE列表中的本机的信息,不需要响应。

ARP学习心得

ARP学习心得

2
ARP工作原理
1
ARP工作原理
第1步:根据主机A上的路由表内容,IP确定用于访问主机B的转发IP地址是192.168.1.2。然后A 主机在自己的本地ARP缓存中检查主机B的匹配MAC地址。 第2步:如果主机A在ARP缓存中没有找到映射,它将询问192.168.1.2的硬件地址,从而将ARP 请求帧广播到本地网络上的所有主机。源主机A的IP地址和MAC地址都包括在ARP请求中。本地 网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP 地址与自己的IP地址不匹配,它将丢弃ARP请求。
4
ARP常用命令
①arp -a或arp –g 用于查看缓存中的所有项目。-a和-g参数的结果是一样的,多年来-g一直是 UNIX平台上用来显示ARP缓存中所有项目的选项,而Windows用的是arp -a(a可被视为all,即全部的意思),但它也可以接受比较传统的-g选项。 ②arp -a Ip 如果有多个网卡,那么使用arp -a加上接口的IP地址,就可以只显示与该接口相 关的ARP缓存项目。 ③arp -s Ip 物理地址 可以向ARP缓存中人工输入一个静态项目。该项目在计算机引导过程中将保持 有效状态,或者在出现错误时,人工配置的物理地址将自动更新该项目。 ④arp -d Ip 使用该命令能够人工删除一个静态项目。
1
ARP工作原理
第3步:主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映 射添加到本地ARP缓存中。 第4步:主机B将包含其MAC地址的ARP回复消息直接发送回主机A。 第5步:当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP 缓存。本机缓存是有生存期的,生存期结束后,将再次重复上面的过程。主机B的MAC地址一旦 确定,主机A就能向主机B发送IP通信了。

免费ARP的格式

免费ARP的格式

免费ARP的格式免费ARP报文与普通ARP请求报文的区别在于普通的ARP请求报文,其ARP封装内的“目的IP地址”是其他机器的IP地址,而免费ARP的请求报文,其ARP封装内的“目的IP地址”是其自己的IP 地址。

免费ARP的封装格式如下图所示:免费ARP报文的封装格式图示免费ARP在实际环境中的一些应用免费ARP主要用于检测IP地址冲突。

当一台主机发送了免费ARP 请求报文后,如果收到了ARP响应报文,则说明网络内已经存在使用该IP 的主机。

在实际的工作环境中,免费ARP除了用于检测地址冲突之外,我们还可以用于以下几个方面:1,利用免费ARP确认设备接口地址一般的设备在网卡地址加载阶段都会向网络中发送免费的ARP报文(也有些安全设备为了安全起见,让设备在加载地址期间不向外发送免费ARP报文),当我们想知道某些设备的接口地址但又没有相应记录可查时,我们就可以利用设备的这种特性,抓取其免费ARP报文,从而分析出其接口使用的IP地址。

这个方法曾数次在用户处使用,效率很高,效果非常明显。

2,使用免费ARP报文,更新某些设备的ARP表项在《TCP/IP详解卷1》的第四章中,有讲到使用免费ARP报文,更新其他主机设备的ARP表项的应用,在我们的工作环境中最常见的应用可能是网关设备双机热备的应用场景,网关在双机热备的工作模式下,由主设备切换到备用设备时,与之相连的设备的ARP表项需要由以前主设备的MAC地址更新为现在主设备(切换前的从设备)的MAC地址,这时,一般从设备在切换为主设备时,就利用向网络中发送免费ARP请求报文,达到让其他设备更新ARP表项的效果。

下面这个图示说明了这个切换的过程:双机热备模式下主从设备切换利用免费ARP的过程3,利用免费ARP的攻击在实际环境中,如果构造网关地址的免费ARP报文,并将ARP的源MAC地址设为任何非网关的MAC地址,再把构造的这个虚假的网关免费ARP报文向网络中发送,那么所有接收到这个免费ARP报文的主机都会更新自己的ARP表项中网关地址对应的MAC地址,导致这些主机的数据报文全部会被转发到错误的MAC地址上,从而实现了ARP欺骗的攻击。

GARP( 免费ARP)概念

GARP( 免费ARP)概念

免费ARP的概念免费ARP报文是一种特殊的ARP报文,该报文中携带的发送端IP地址和目标IP地址都是本机IP地址,报文源MAC地址是本机MAC地址,报文的目的MAC地址是广播地址。

设备通过对外发送免费ARP报文来实现以下功能:l 确定其它设备的IP地址是否与本机的IP地址冲突。

当其它设备收到免费ARP报文后,如果发现报文中的IP地址和自己的IP地址相同,则给发送免费ARP报文的设备返回一个ARP应答,告知该设备IP地址冲突。

l 设备改变了硬件地址,通过发送免费ARP报文通知其它设备更新ARP表项。

1. 免费ARP报文学习功能的作用使能了免费ARP报文学习功能后,设备会根据收到的免费ARP报文中携带的信息(源IP地址、源MAC地址)对自身维护的ARP表进行修改。

设备先判断ARP表中是否存在与此免费ARP报文源IP地址对应的ARP表项:l 如果没有对应的ARP表项,设备会根据该免费ARP报文中携带的信息新建ARP表项;l 如果存在对应的ARP表项,设备会根据该免费ARP报文中携带的信息更新对应的ARP表项。

关闭免费ARP报文学习功能后,设备不会根据收到的免费ARP报文来新建ARP表项,但是会更新已存在的对应ARP表项。

如果用户不希望通过免费ARP报文来新建ARP表项,可以关闭免费ARP报文学习功能,以节省ARP表项资源。

2. 定时发送免费ARP功能的作用定时发送免费ARP功能可以及时通知下行设备更新ARP表项或者MAC地址表项,主要应用场景如下:(1) 防止仿冒网关的ARP攻击如果攻击者仿冒网关发送免费ARP报文,就可以欺骗同网段内的其它主机,使得被欺骗的主机访问网关的流量,被重定向到一个错误的MAC地址,导致其它主机用户无法正常访问网络。

为了尽量避免这种仿冒网关的ARP攻击,可以在网关的接口上使能定时发送免费ARP功能。

使能该功能后,网关接口上将按照配置的时间间隔周期性发送接口主IP地址和手工配置的从IP地址的免费ARP报文。

ARP(地址解析协议)

ARP(地址解析协议)

ARP(地址解析协议)⽬录1. ARP 概述地址解析协议,即 ARP(Address Resolution Protocol),是根据IP地址获取物理地址的⼀个TCP/IP协议。

它是IPv4中⽹络层必不可少的协议,不过在IPv6中已不再适⽤,并被邻居发现协议(NDP)所替代。

主机发送信息时将包含⽬标IP地址的ARP请求⼴播到⽹络上的所有主机,并接收返回消息,以此确定⽬标的物理地址;收到返回消息后将该IP地址和物理地址存⼊本机ARP缓存中并保留⼀定时间,下次请求时直接查询ARP缓存以节约资源。

地址解析协议是建⽴在⽹络中各个主机互相信任的基础上的,⽹络上的主机可以⾃主发送ARP应答消息,其他主机收到应答报⽂时不会检测该报⽂的真实性就会将其记⼊本机ARP缓存;由此攻击者就可以向某⼀主机发送伪ARP应答报⽂,使其发送的信息⽆法到达预期的主机或到达错误的主机,这就构成了⼀个ARP欺骗。

ARP命令可⽤于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。

相关协议有RARP、代理ARP。

⽹络层使⽤的是 IP 地址,但在实际⽹络的链路上传输数据帧时,最终还必须使⽤该⽹络的硬件地址。

但 IP 地址和下⾯的⽹络的硬件地址由于格式不同⽽不存在简单的映射关系。

此外,⼀个⽹络上可能会经常会有新主机加⼊进来,或撤⾛⼀些主机。

更换⽹络适配器也会使主机的硬件地址改变。

地址解析协议 ARP 解决的⽅法是:在主机ARP⾼速缓存中应存放⼀个从IP地址到硬件地址的映射表,并且这个映射表还经常动态更新(新增或超时删除)。

注意:ARP是解决同⼀局域⽹中主机或者路由器的IP地址和硬件地址的映射问题,在每⼀台主机中都有⼀个ARP⾼速缓存(ARP cache),⾥⾯存储本主机所知道本局域⽹中其他主机的IP地址与硬件地址的映射表2. ARP 协议⼯作原理当主机 A 向本局域⽹上的某台主机 B 发送 IP 数据报时,就先在其 ARP ⾼速缓存中查看有⽆主机 B 的 IP 地址。

DAI(动态ARP监控技术)和IP Source Guard

DAI(动态ARP监控技术)和IP Source Guard

DAI(动态ARP监控技术)和IP Source Guard一、ARP Poisoning(ARP毒化技术)正常情况下PC-A是正常PC,路由器是我们的网关,正常情况下PC-A作一个ARP Request请问10.1.1.1这个网关的MAC地址是多少,网关正常就会回网关是10.1.1.1,MAC地址是 C.C.C.C,PC-A会有一个正常的ARP条目:这样PC-A就可以正常把流量交给网关了就上网了,但是现在PC-B这个攻击者作了ARP毒化的处理,它会伪装网关给PC-A 发送一个免费ARP毒化PC-A的ARP的映射表项,让PC-A的ARP映射表项映射为这个时候PC-A上网的流量就会送给PC-B,然后PC-B代理交给服务器,同样PC-B还会作一个毒化ARP的映射去毒化网关的ARP说10.1.1.2的MAC地址是B.B.B.B,这样网关回的包也会绕到PC-B,这样去回的包都要受攻击者来控制。

毒化的过程(1)ARP这种解析是后到者优先,当你们正常合法的映射已经完成时,攻击者就会作一个免费ARP的Replies来毒化你们的ARP的缓存。

(2)免费ARP:免费ARP有好处,也有坏处的。

免费ARP好处:比如我一个PC的地址设置为1.1.1.1,当我开机的时候可能会弹出一个报错,什么MAC地址跟我的IP址重叠,这是怎么发现的呢?比如PC开机就会发送一个免费ARP,免费ARP的内容是请问1.1.1.1的MAC地址是多少,自己问自己IP地址的MAC地址是多少,它不希望任何人可以回应这个,如果没有人回应MAC地址就没有重叠,如果有人回应了说我是1.1.1.1我的MAC地址是什么什么,这时PC就会报一个错说这个MAC地址它的IP地址和我的重叠了,这是免费ARP的好处。

免费ARP的坏处:ARP这种解析是后到者优先,当你们正常合法的映射已经完成时,攻击者就会作一个免费ARP的Replies来毒化你们的ARP 的缓存。

二、启用DAI动态ARP监控技术能够抵御这种ARP毒化攻击(1)能保护ARP毒化的攻击(2)DAI技术需要使用DHCP Snooping的绑定表,就是利用这个绑定表的资源来判断这个ARP是正确的,还是有问题的(3)这个绑定表是通过来追踪整个DHCP一个过程构建起来的,了解到是合法IP和MAC地址的映射,这样我基于这个绑定表作DAI抵御ARP的欺骗。

ARP是什么?ARP基础知识介绍

ARP是什么?ARP基础知识介绍

ARP是什么?ARP基础知识介绍
ARP是英⽂Address Resolution Protocol的简称,中⽂名叫做:地址解析协议,是⼀个位于TCP/IP协议栈中的底层协议,对应于数据链路层,负责将某个解析成对应的。

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

从IP地址到物理地址的映射有两种⽅式:表格⽅式和⾮表格⽅式。

ARP具体说来就是将⽹络层(IP层,也就是相当于OSI的第三层)地址解析为数据链路层(MAC层,也就是相当于OSI的第⼆层)的MAC地址。

对于普通⽤户来说,以上的解释可能很难理解,下⾯⽤通俗易懂的语⾳为⼤家说明⼀下。

我们的电脑、⼿机等设备要上互联⽹需要⼀块⽹卡,这个⽹卡有⼀个物理地址,⼜叫做MAC地址,MAC地址具有全球唯⼀性;同时我们上⽹的时候还需要⼀个IP 地址。

ARP的作⽤就是把IP地址和MAC地址对应起来,建⽴⼀张对应的表格,根据ARP映射表,就可以根据IP地址找到⽬标设备,实现通信。

查看电脑上的ARP表
1、打开运⾏程序:同时按下键盘上⾯的“Windows”+“R”按键
2、打开cmd程序:在运⾏程序中输⼊“cmd”点击确定。

3、查看ARP表:在cmd程序中输⼊“arp -a”命令并按下回车键,就可以看到电脑上的ARP表了。

ARP详解

ARP详解

ARPARP作用ARP(Address Resolution Protocol,地址解析协议)是将IP地址解析为以太网MAC地址(或称物理地址)的协议。

在局域网中,当主机或其它网络设备有数据要发送给另一个主机或设备时,它必须知道对方的网络层地址(即IP地址)。

但是仅仅有IP地址是不够的,因为IP数据报文必须封装成帧才能通过物理网络发送,因此发送站还必须有接收站的物理地址,所以需要一个从IP地址到物理地址的映射。

APR就是实现这个功能的协议。

ARP报文结构ARP报文分为ARP请求和ARP应答报文,报文格式如图1-1所示。

图 1 ARP报文结构●硬件类型:表示硬件地址的类型。

它的值为1表示以太网地址;●协议类型:表示要映射的协议地址类型。

它的值为0x0800即表示IP地址;●硬件地址长度和协议地址长度分别指出硬件地址和协议地址的长度,以字节为单位。

对于以太网上IP地址的ARP请求或应答来说,它们的值分别为6和4;●操作类型(OP):1表示ARP请求,2表示ARP应答;●发送端MAC地址:发送方设备的硬件地址;●发送端IP地址:发送方设备的IP地址;●目标MAC地址:接收方设备的硬件地址。

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

ARP地址解析过程假设主机A和B在同一个网段,主机A要向主机B发送信息。

如图1-2所示,具体的地址解析过程如下:(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)会对该请求进行处理。

arp报文种类

arp报文种类

arp报文种类ARP(地址解析协议)是一种用于将IP地址映射到物理硬件地址的协议。

它在计算机网络中起到了重要的作用,可以使计算机在进行网络通信时能够准确找到目标设备的物理地址。

ARP报文是为了实现ARP协议而发送的数据包,主要包含以下几种种类:1. ARP请求报文(ARP Request):这种类型的报文用于计算机发送一个ARP请求来查找目标设备的物理地址。

ARP Request报文包含发送方的IP地址和物理地址,以及目标设备的IP地址。

2. ARP响应报文(ARP Reply):当目标设备收到ARP请求报文后,会发送一个ARP响应报文以回应请求。

ARP Reply 报文包含目标设备的IP地址和物理地址,并将其发送给请求方。

3. RARP请求报文(RARP Request):RARP是逆地址解析协议,与ARP相反,它是通过物理地址来查找目标设备的IP地址。

RARP Request报文包含发送方的物理地址,并请求接收方提供对应的IP地址。

4. RARP响应报文(RARP Reply):当接收方收到RARP请求报文后,会发送一个RARP响应报文以回应请求。

RARP Reply报文包含接收方的IP地址,并将其发送给请求方。

5. Gratuitous ARP报文:这种类型的ARP报文用于在网络中广播自己的IP和MAC地址,以便其他设备更新其ARP缓存表。

Gratuitous ARP报文与普通的ARP请求和响应报文不同,它没有目标地址,而是将目标地址设置为源地址。

在实际的网络通信中,ARP报文扮演着非常重要的角色。

它可以帮助计算机在进行通信时找到目标设备的物理地址,从而确保数据包准确地发送到目标设备。

同时,ARP报文还可以用于更新设备间的ARP缓存表,保证网络通信的高效性和稳定性。

总结:ARP报文主要包括ARP请求报文、ARP响应报文、RARP请求报文、RARP响应报文和Gratuitous ARP报文。

网络知识点整理-ARP、免费ARP

网络知识点整理-ARP、免费ARP

网络知识点整理-ARP、免费ARP1.ARP是什么?地址解析协议ARP是用来将IP地址解析为MAC地址的协议。

在局域网中,当主机或其它三层网络设备有数据要发送给另一台主机或三层网络设备时,它需要知道对方的网络层地址(即IP地址)。

但是仅有IP地址是不够的,因为IP报文必须封装成帧才能通过物理网络发送,因此发送方还需要知道接收方的物理地址(即MAC地址),因此需要一个从IP地址到MAC地址的映射。

ARP即可以实现将IP地址解析为MAC地址。

主机或三层网络设备上会维护一张ARP表,用于存储IP地址和MAC地址的关系。

一般ARP表项包括动态ARP表项和静态ARP表项。

2.动态ARP2.1.原理描述动态ARP表项由ARP协议通过ARP报文(广播ARP请求和单播ARP应答)自动生成和维护,可以被老化,可以被新的ARP报文更新,可以被静态ARP表项覆盖。

动态ARP适用于拓扑结构复杂、通信实时性要求高的网络。

2.2.当需要通信的两台主机处于1)同一网段时,源主机直接发送ARP广播,请求目的主机的MAC地址。

目的主机收到后,单播回复自己IP地址对应的MAC地址的ARP应答报文给源主机,源主机收到ARP应答报文后,将数据报文封装二层帧并发送目的主机。

2)不同网段时,源主机已经配置缺省网关,则会发送ARP广播,请求网关的IP地址对应的MAC地址。

网关收到后,单播回复自己该接口的IP地址对应的MAC地址的ARP应答报文给源主机,源主机收到ARP应答报文后,将数据报文封装二层帧并发给网关,再由网关将数据报文发送给目的主机。

3.ARP请求报文3.1.ARP广播包二层帧中的目的MAC是全F(广播),ARP数据包里面的目的MAC是全0(未知用0表示)。

在eNSP模拟器中抓取的ARP请求ARP数据包里面的目的MAC 可能是全F,与理论不符,抓取物理网卡数据包正常为全0。

3.2.ARP应答报文1)免费ARP报文免费ARP是一种特殊的ARP请求,所以二层帧的目的MAC也是全F,区别在于ARP数据包里面的源和IP目的IP是同一个IP地址。

第4章 ARP和RARP

第4章 ARP和RARP

用户发往网关的数据包无法到达网关,从而无法上网;
ARP 欺骗

第二种是对网络内的网关设备进行欺骗,如果中了这种攻
击方式的病毒,计算机会向网关发送伪造的ARP信息,导
致网关的ARP表项中产生大量假的ARP信息,从而拒绝 转发正常的计算机发送来的数据包,导致网络内的计算机 无法上网。
ARP 欺骗
ARP欺骗的原理


Host Requirements RFC表明即使表项正在使用时,超 时值也应该启动,但是大多数从伯克利系统演变而来的系 统没有这样做—它们每次都是在访问表项时重设超时值。
4.4 ARP攻击

4.4.1 ARP广播 4.4.2 ARP欺骗

ARP广播

利用ARP广播式请求这一特点,伪造大量的ARP 请求数据包; 轮番查询网内计算机的ARP信息,从而引起网络 的堵塞和交换机处理性能下降,导致上网速度下 降,网络时通时断,严重的时候会导致交换机死 机。
I heard that broadcast. Your IP address is 172.16.3.25.
Ethernet: 0800.0020.1111 IP = ???
RARP 协议
What is my IP address?
I heard that broadcast. Your IP address is 172.16.3.25.
主机

-s 添加主机,并将网络地址跟物理地址相对应,这一项是永久 生效的
4.3 ARP的包格式
ARP和RARP使用相同的报头结构
ARP的包格式

以太网报头中的前两个字段是以太网的源地址和目的地址。 在ARP和RARP请求包中,目的地址为全1(广播地址), 电缆上的所有以太网接口都要接收广播的数据帧。 两个字节长的以太网帧类型表示后面数据的类型,对于 ARP请求或应答来说,该字段的值为0x0806。

几种报文格式及arp分类

几种报文格式及arp分类
几种报文格式 及ARP分类
主要内容
• • • TCP/IP协议概述 数据封装和解封装过程 TCP、UDP、IP报文格式、以太帧格式 ARP、免费ARP、代理ARP、RARP、IARP
TCP/IP协议概述
主机A 主机B
Internet
TCP/IP
Transmission Control Protocol / Internet Protocol 是互联网上通信的标准
?端口号定义的范围?1低于255的端口号用于公共应用?2255到1023的端口号被指定给各个公司?3高于1023的端口号未做规定由主机随机使用udp报文格式?没有序列和确认字段sourceport16destinationport16length16dataifany1bit0bit15bit16bit31checksum168bytesudp格式举例ip包格式ip包格式举例ethernetii帧格式源地址目的地址类型帧净载荷帧检测序列以太网型数据帧是所有以太网帧中最古老也是应用最广泛的?arp?免费arp?代理arp?rarp?iarparp概述?arpaddressresolutionprotocol地址解析协议作用把ip地址解析为mac地址?数据在以太链路上以以太网帧的形式传输?要在以太网中传输ip数据包必须知道ip对应的mac目标mac源mac源ip目标ip数据fcsarp地址解析过程源目的主机是否同一子网n解析网关下一跳mac解析目的主机macy源主机要发送ip包arp缓存中是否有ipmac条目ny发送arp请求并在本地建立临时条目根据接收的arp报文建立ipmac映射条目根据arp表中ipmac映射条目封装成帧发送arp缓存?26?arp缓存动态表项???通过arp协议学习能被更新缺省老化时间120s静态表项手工配置不能被更新无老化时间的限制arp报文目的mac源mac类型arp报文0x8086硬件类型协议类型硬件地址长度协议地址长度操作代码sendermacsenderiptargetmactargetip12requestreply免费arp??28免费arpgratuitousarp开机或者更改了ip地址会发送免费arp???发送arp请求其中targetip是自己的ip确定其它设备的ip地址是否与本机ip地址冲突

免费ARP

免费ARP

免费ARP的作用,目前,免费ARP的作用有两种。

第一种就是刚才上面所说的宣告广播的作用,以告诉整个广播域,目前这个IP所对应的MAC 地址是什么。

第二种是看看广播域内有没有别的主机使用自己的IP,如果使用了,则在界面上弹出“IP冲突”字样。

普通ARP请求报文广播发送出去,广播域内所有主机都接收到,计算机系统判断ARP请求报文中的目的IP地址字段,如果发现和本机的IP地址相同,则将自己的MAC 地址填写到该报文的目的MAC地址字段,并将该报文发回给源主机。

所以只要发送ARP请求的主机接收到报文,则证明广播域内有别的主机使用和自己相同的IP地址(这里不考虑路由器的ARP代理问题)。

免费ARP的报文发出去是不希望收到回应的,只希望是起宣告作用;如果收到回应,则证明对方也使用自己目前使用的IP地址。

在所有网络设备(包括计算机网卡)up的时候,都会发送这样的免费ARP广播,以宣告并确认有没有冲突。

举例如下:0000 ff ff ff ff ff ff 00 00 5e 00 01 ea 08 06 00 010010 08 00 06 04 00 01 00 00 5e 00 01 ea 86 4a ea 010020 00 00 5e 00 01 ea 86 4a ea 01 00 00 00 00 00 000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000040 00 00 00 00报文中前48位是报文发送的目的MAC地址。

ff ff ff ff ff ff说明前48位都为1,表示这是一个局域网广播地址;00 00 5e 00 01 ea是数据包发送的源MAC地址;08 06表示为数据包类型为arp数据包;00 01表示这是一个以太网数据包;08 00表示为IP协议,6是硬件地址长度,4为协议地址长度;00 01表示是ARP请求报文;00 00 5e 00 01 ea发送者MAC地址;86 4a ea 01(转换成十进制是134.74.234.1)是发送者的协议地址(由于协议是IP,所以这是IP地址);86 4a ea 01是被请求的协议地址(可以看到请求的地址就是自身的IP 地址);00 00 5e 00 01 ea是被请求的MAC地址,正常情况下,如果不是免费ARP,这里应该为全0,在响应的时候,由目的主机来填写,但是在免费ARP的请求报文中,这里已经自动填写上自身的MAC地址。

免费arp的作用

免费arp的作用

免费arp的作用
免费ARP包是标准ARP请求包的特例,目的MAC地址仍是二层广播地址FFFF-FFFF-FFFF,源MAC地址是发送ARP请求主机的MAC 地址,然而,源IP和目的IP都是发送主机的IP。

这就是免费ARP包和标准ARP请求包的区别。

免费ARP包一般产生于系统引导时,网络模块用于确定当前使用的IP地址,同段内是否还有其他人在使用。

当主机发送一个免费ARP 包后,未收到应答,说明IP无冲突,反之则报错。

免费ARP还有另外一个作用,如果发送免费ARP请求的主机更换了网卡,这个包正好用于修改其他主机MAC缓冲池中的映射关系。

通过这个功能,足可看出ARP机制的脆弱性。

ARP缓存更新机制:
《TCP/IP详解卷1:协议》:"主机接收到任何ARP请求都要完成这个操作","一般情况下,当系统收到ARP请求或发送ARP应答时,都要求把请求端的硬件地址和IP地址存入ARP高速缓存",这样看来ARP过程取地址是根据包头的硬件地址和IP地址,而不是负载部分的内容。

ARP与免费ARP的区别

ARP与免费ARP的区别

ARP与免费ARP的区别一般的ARP,广播到整个网络,而如果目的地址不是本机,会被收到的主机直接丢弃,那为什么免费ARP没有被丢弃?反而更新了映射缓存?是什么机制呢?这是因为免费ARP报文发送端【IP地址】和【目标IP地址】都是本机IP地址!!!报文源MAC地址是本机MAC地址,报文的目的MAC地址是广播地址。

2、免费ARP免费ARP报文是一种特殊的ARP报文,该报文中携带的发送端IP地址和目标IP地址都是本机IP地址,报文源MAC地址是本机MAC地址,报文的目的MAC地址是广播地址。

设备通过对外发送免费ARP报文来实现以下功能:# 确定其它设备的IP地址是否与本机的IP地址冲突。

当其它设备收到免费ARP报文后,如果发现报文中的IP地址和自己的IP地址相同,则给发送免费ARP报文的设备返回一个ARP应答,告知该设备IP地址冲突。

# 设备改变了硬件地址,通过发送免费ARP报文通知其它设备更新ARP表项。

PC发送免费ARPcase1:PC通过DHCP申请地址,在获取到IP地址后,会发送免费ARP,目的用于探测同一网段时候存在相同的IP地址终端,防止IP冲突。

case2:PC的MAC地址发生变化后,会发送免费ARP,用于刷新同网段其他终端保存该PC的ARP表现。

这个是那本经典的TCP/IP红宝书上讲的,但是小编不了解什么情况下,PC的MAC地址会发生变化。

case3:服务器进行虚拟化后(Vmware、XEN),但VM迁移后,会发送RARP、ARP报文,这个不是免费ARP。

case4:同一网段存在相同IP的两个终端,单一个终端收到另外一个终端的ARP请求报文,原味SenderIP为自身IP,这时会发送免费ARP。

(这个是小编印象中的,不一定是这样,有环境,你可以实践下)网络设备Router发送免费ARP:case1:vlanif接口shutdown/no shutdown后,会发送免费arp。

case2:VRRP的master会定时发送免费arp,单VRRP发生主备切换时也会发送免费arp。

计算机网络技术《ARP协议-2 ARP的工作过程、免费ARP的作用与场景分析》

计算机网络技术《ARP协议-2 ARP的工作过程、免费ARP的作用与场景分析》

第三页,共九页。
Page 3
ARP响应
主机 B
主机 A
10.0.0.2/24 00-01-02-03-04-BB
主机 C
10.0.0.1/24 00-01-02-03-04-AA
10.0.0.3/24 00-01-02-03-04-CC
ETH_II
ARP
FCS
目的MAC: 00-01-02-03-04-AA
ARP缓存
主机 B
主机 A
10.0.0.2/24 00-01-02-03-04-BB
主机 C
10.0.0.1/24 00-01-02-03-04-AA
Host A>arp -a Internet Address Physical Address Type
第一页,共九页。
.3/24 00-01-02-03-04-CC
第二页,共九页。
10003/24
00-01-02-03-04-CC
Page 2
ARP响应
主机 B
主机 A
10.0.0.2/24 00-01-02-03-04-BB
主机 C
10.0.0.1/24 00-01-02-03-04-AA
Host C>aric
10.0.0.3/24 00-01-02-03-04-CC
源MAC: 00-01-02-03-04-CC
目的IP : 10.0.0.1 源 IP : 10.0.0.3 目的 MAC : 00-01-02-03-04-AA 源 MAC : 00-01-02-03-04-CC 操作类型: Reply
第四页,共九页。
Page 4
ARP缓存
主机 A 10.0.0.1/24 00-01-02-03-04-AA
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ARP与免费ARP的区别
一般的ARP,广播到整个网络,而如果目的地址不是本机,会被收到的主机直接丢弃,那为什么免费ARP没有被丢弃?反而更新了映射缓存?是什么机制呢?
这是因为免费ARP报文发送端【IP地址】和【目标IP地址】都是本机IP地址!!!报文源MAC地址是本机MAC地址,报文的目的MAC地址是广播地址。

2、免费ARP
免费ARP报文是一种特殊的ARP报文,该报文中携带的发送端IP地址和目标IP地址都是本机IP地址,报文源MAC地址是本机MAC地址,报文的目的MAC地址是广播地址。

设备通过对外发送免费ARP报文来实现以下功能:
# 确定其它设备的IP地址是否与本机的IP地址冲突。

当其它设备收到免费ARP报文后,如果发现报文中的IP地址和自己的IP地址相同,则给发送免费ARP报文的设备返回一个ARP应答,告知该设备IP地址冲突。

# 设备改变了硬件地址,通过发送免费ARP报文通知其它设备更新ARP表项。

PC发送免费ARP
case1:PC通过DHCP申请地址,在获取到IP地址后,会发送免费ARP,目的用于探测同一网段时候存在相同的IP地址终端,防止IP冲突。

case2:PC的MAC地址发生变化后,会发送免费ARP,用于刷新同网段其他终端保存该PC的ARP表现。

这个是那本经典的TCP/IP红宝书上讲的,但是小编不了解什么情况下,PC的MAC地址会发生变化。

case3:服务器进行虚拟化后(Vmware、XEN),但VM迁移后,会发送RARP、ARP报文,这个不是免费ARP。

case4:同一网段存在相同IP的两个终端,单一个终端收到另外一个终端的ARP请求报文,原味SenderIP为自身IP,这时会发送免费ARP。

(这个是小编印象中的,不一定是这样,有环境,你可以实践下)
网络设备Router发送免费ARP:
case1:vlanif接口shutdown/no shutdown后,会发送免费arp。

case2:VRRP的master会定时发送免费arp,单VRRP发生主备切换时也会发送免费arp。

目的用于刷新下面的二层交换机的mac表项。

case3:Router的三层接口收到op为1、2,SenderIP为selfIP的免费arp,会发送op为2的免费arp。

目前遇到以上这些情况,应该还是有其他情况存在的。

总之要记住免费arp的两个作用,对于其他情况也就很好分析了。

免费arp的作用1:告诉同网段的其他主机、接口,我的mac地址发生了变化。

作用2:告知同网段存在IP地址冲突。

相关文档
最新文档