什么是ARP

什么是ARP,第1张

ARP

目录·一、什么是ARP协议

·二、ARP协议的工作原理

·三、如何查看ARP缓存表

·四、ARP欺骗

·五、遭受ARP攻击后现象

我们知道,当我们在浏览器里面输入网址时,DNS服务器会自动把它解析为IP地址,浏览器实际上查找的是IP地址而不是网址。那么IP地址是如何转换为第二层物理地址(即MAC地址)的呢?在局域网中,这是通过ARP协议来完成的。ARP协议对网络安全具有重要的意义。通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞。所以网管们应深入理解ARP协议。

一、什么是ARP协议

ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

二、ARP协议的工作原理

在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的,如附表所示。

附表

我们以主机A(19216815)向主机B(19216811)发送数据为例。当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播,目标MAC地址是“FFFFFFFFFFFF”,这表示向同一网段内的所有主机发出这样的询问: “19216811的MAC地址是什么?”网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应: “19216811的MAC地址是00-aa-00-62-c6-09”。这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。同时它还更新了自己的ARP缓存表,下次再向主机B发送信息时,直接从ARP缓存表里查找就可以了。ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。

ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。

ARP攻击主要是存在于局域网网络中,局域网中若有一个人感染ARP木马,则感染该ARP木马的系统将会试图通过“ARP欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。

三、如何查看ARP缓存表

ARP缓存表是可以查看的,也可以添加和修改。在命令提示符下,输入“arp -a”就可以查看ARP缓存表中的内容了,如附图所示。

用“arp -d”命令可以删除ARP表中某一行的内容;用“arp -s”可以手动在ARP表中指定IP地址与MAC地址的对应。

四、ARP欺骗

其实,此起彼伏的瞬间掉线或大面积的断网大都是ARP欺骗在作怪。ARP欺骗攻击已经成了破坏网吧经营的罪魁祸首,是网吧老板和网管员的心腹大患。

从影响网络连接通畅的方式来看,ARP欺骗分为二种,一种是对路由器ARP表的欺骗;另一种是对内网PC的网关欺骗。

第一种ARP欺骗的原理是——截获网关数据。它通知路由器一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。第二种ARP欺骗的原理是——伪造网关。它的原理是建立假网关,让被它欺骗的PC向假网关发数据,而不是通过正常的路由器途径上网。在PC看来,就是上不了网了,“网络掉线了”。

一般来说,ARP欺骗攻击的后果非常严重,大多数情况下会造成大面积掉线。有些网管员对此不甚了解,出现故障时,认为PC没有问题,交换机没掉线的“本事”,电信也不承认宽带故障。而且如果第一种ARP欺骗发生时,只要重启路由器,网络就能全面恢复,那问题一定是在路由器了。为此,宽带路由器背了不少“黑锅”。

作为网吧路由器的厂家,对防范ARP欺骗不得已做了不少份内、份外的工作。一、在宽带路由器中把所有PC的IP-MAC输入到一个静态表中,这叫路由器IP-MAC绑定。二、力劝网管员在内网所有PC上设置网关的静态ARP信息,这叫PC机IP-MAC绑定。一般厂家要求两个工作都要做,称其为 IP-MAC双向绑定。

显示和修改“地址解析协议”(ARP) 所使用的到以太网的 IP 或令牌环物理地址翻译表。该命令只有在安装了 TCP/IP 协议之后才可用。

arp -a [inet_addr] [-N [if_addr]

arp -d inet_addr [if_addr]

arp -s inet_addr ether_addr [if_addr]

参数

-a

通过询问 TCP/IP 显示当前 ARP 项。如果指定了 inet_addr,则只显示指定计算机的 IP 和物理地址。

-g

与 -a 相同。

inet_addr

以加点的十进制标记指定 IP 地址。

-N

显示由 if_addr 指定的网络界面 ARP 项。

if_addr

指定需要修改其地址转换表接口的 IP 地址(如果有的话)。如果不存在,将使用第一个可适用的接口。

-d

删除由 inet_addr 指定的项。

-s

在 ARP 缓存中添加项,将 IP 地址 inet_addr 和物理地址 ether_addr 关联。物理地址由以连字符分隔的6 个十六进制字节给定。使用带点的十进制标记指定 IP 地址。项是永久性的,即在超时到期后项自动从缓存删除。

ether_addr

指定物理地址。

五、遭受ARP攻击后现象

ARP欺骗木马的中毒现象表现为:使用局域网时会突然掉线,过一段时间后又会恢复正常。比如客户端状态频频变红,用户频繁断网,IE浏览器频繁出错,以及一些常用软件出现故障等。如果局域网中是通过身份认证上网的,会突然出现可认证,但不能上网的现象(无法ping通网关),重启机器或在MS-DOS窗口下运行命令arp -d后,又可恢复上网。

ARP欺骗木马只需成功感染一台电脑,就可能导致整个局域网都无法上网,严重的甚至可能带来整个网络的瘫痪。该木马发作时除了会导致同一局域网内的其他用户上网出现时断时续的现象外,还会窃取用户密码。如**QQ密码、**各种网络游戏密码和账号去做金钱交易,盗窃网上银行账号来做非法交易活动等,这是木马的惯用伎俩,给用户造成了很大的不便和巨大的经济损失。

防止ARP攻击

1建立DHCP服务器(建议建在网关上,因为DHCP不占用多少CPU,而且ARP欺骗攻击一般总是先攻击网关,我们就是要让他先攻击网关,因为网关这里有监控程序的,网关地址建议选择192168102 ,把192168101留空,如果犯罪程序愚蠢的话让他去攻击空地址吧),另外所有客户机的IP地址及其相关主机信息,只能由网关这里取得,网关这里开通DHCP服务,但是要给每个网卡,绑定固定唯一IP地址。一定要保持网内的机器IP/MAC一一对应的关系。这样客户机虽然是DHCP取地址,但每次开机的IP地址都是一样的。

2建立MAC数据库,把网吧内所有网卡的MAC地址记录下来,每个MAC和IP、地理位置统统装入数据库,以便及时查询备案。

3网关机器关闭ARP动态刷新的过程,使用静态路邮,这样的话,即使犯罪嫌疑人使用ARP欺骗攻击网关的话,这样对网关也是没有用的,确保主机安全。

网关建立静态IP/MAC捆绑的方法是:建立/etc/ethers文件,其中包含正确的IP/MAC对应关系,格式如下:

192168232 08:00:4E:B0:24:47

然后再/etc/rcd/rclocal最后添加:

arp -f 生效即可

4网关监听网络安全。网关上面使用TCPDUMP程序截取每个ARP程序包,弄一个脚本分析软件分析这些ARP协议。ARP欺骗攻击的包一般有以下两个特点,满足之一可视为攻击包报警:第一以太网数据包头的源地址、目标地址和ARP数据包的协议地址不匹配。或者,ARP数据包的发送和目标地址不在自己网络网卡MAC数据库内,或者与自己网络MAC数据库 MAC/IP 不匹配。这些统统第一时间报警,查这些数据包(以太网数据包)的源地址(也有可能伪造),就大致知道那台机器在发起攻击了。

5偷偷摸摸的走到那台机器,看看使用人是否故意,还是被任放了什么木马程序陷害的。如果后者,不声不响的找个借口支开他,拔掉网线(不关机,特别要看看Win98里的计划任务),看看机器的当前使用记录和运行情况,确定是否是在攻击。

2:IP与系统有冲突

TCP/IP协议设置自动获取ip即可

参考资料:

>

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

扩展资料:

RARP和ARP不同,地址解析协议是根据IP地址获取物理地址的协议,而反向地址转换协议(RARP)是局域网的物理机器从网关服务器的ARP表或者缓存上根据MAC地址请求IP地址的协议,其功能与地址解析协议相反。与ARP相比,RARP的工作流程也相反。首先是查询主机向网路送出一个RARP Request广播封包,向别的主机查询自己的IP地址。这时候网络上的RARP服务器就会将发送端的IP地址用RARP Reply封包回应给查询者,这样查询主机就获得自己的IP地址了。

参考资料来源:百度百科-TCP/IP协议

参考资料来源:百度百科-地址解析协议

arp表中的mac地址来源:A的子网改成了2552552550,则B与A不再是同网段了,因为也没有网关,这时在A上PING B 就是失败的,不是同网段A就不能访问B。

1、路由器、甚至所有路由器没这个功能,ARP是地址解析协议,没有ARP是无法获取MAC地址列表的,也就是说无法进行数据交换、路由,所以实现MAC隐藏不可能。

2、只可以临时修改MAC地址,去上网,如果别人发现再封,还是没有用的;至于MAC地址修改办法,网上很多文章,去搜索就行,这里就不列举了。

在PC上绑定安全网关的IP和MAC地址:

首先,获得安全网关的内网的MAC地址(例如HiPER网关地址19216816254的MAC地址为0022aa0022aa)。

编写一个批处理文件rarpbat内容如下:@echo offarp -darp -s 19216816254 00-22-aa-00-22-aa(将文件中的网关IP地址和MAC地址更改为实际使用的网关IP地址和MAC地址即可)。将这个批处理软件拖到“windows开始程序启动”中。

ARP,地址解析协议。

ARP列表,是获取到的最近一段时间内使用过的IP地址与MAC地址的对应关系。

这里面的,只有本局域网的MAC地址才会出现在这里。而且也不是一直在通信,是之前的一段时间内曾经通信过的本网主机的MAC地址

主要功能是将IP地址解析为物理地址。

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址。

收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,局域网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存。

由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。相关协议有RARP、代理ARP。NDP用于在IPv6中代替地址解析协议。

在阐述这几张表之前,有必要先说明一下:

1、交换机工作在数据链路层

说明:本文出现的交换机指的都是二层交换机,带路由功能的三层交换机不在讨论范围

2、路由器工作在网络层

3、交换机有MAC地址表,无ARP表,MAC地址表一般存在在交换机中

4、一般情况下,计算机和路由器既有ARP表,也有路由表

      MAC地址表 :在交换机中,存有一张记录局域网主机MAC地址与交换机接口的对应关系的表,交换机就是依据这张表将数据帧转发到指定的目标主机上。 通过下面的阐述,你会对mac地址表有所了解。

上面是交换机、主机A以及主机B的连接图,主机A向主机B发送数据帧的详细过程如下:

1、主机A将一个数据帧发送给交换机,其中源MAC地址为MAC_A,目标MAC地址为MAC_B。

2、交换机收到此数据帧后,首先将数据帧中的源MAC地址MAC_A和对应的接口(接口1) 记录到MAC地址表中。

3、然后,交换机会检查自己的MAC地址表中是否有MAC_B的信息。如果有,则从MAC地址表记录的接口2发送出去;如果没有,则会将此数据帧从非接收接口(接口1)的所有接口发送出去。

4、这时,局域网中所有主机都会收到此数据帧,但是只有主机B收到此数据帧时会响应这个广播,并回应一个数据帧,此数据帧中包含主机B的MAC地址MAC_B。

5、当交换机收到主机B回应的数据帧后,也会记录数据帧中的源MAC地址(也就是MAC_B)和对应接口到MAC表中,此时,交换机就可以把主机A发过来的数据帧发送给主机B了。数据帧的源MAC地址为交换机的MAC地址,目标MAC地址是MAC_B。

      上面我们讲解了交换机的工作原理,知道交换机是通过MAC地址通信的,但是我们是如何获得目标主机的MAC地址呢?这时我们就需要使用ARP协议了。ARP协议是工作在网络层的协议,它负责将IP地址解析为MAC地址。在每台主机中都有一张ARP表,它记录着主机的IP地址和MAC地址的对应关系。还是利用上面的图来进行阐述。

1、如果主机A想发送数据给主机B,主机A首先会检查自己的ARP缓存表,查看是否有主机B的IP地址和MAC地址的对应关系。如果有,则会将主机B的MAC地址作为源MAC地址封装到数据帧中。如果没有,主机A则会发送一个ARP请求信息,请求的目标IP地址是IP_B,目标MAC地址是MAC地址的广播帧(即FF-FF-FF-FF-FF-FF),源IP地址为IP_A,源MAC地址是MAC_A。

2、当交换机收到此数据帧之后,发现此数据帧是广播帧,因此,会将此数据帧从非接收接口的所有接口发送出去。

3、当主机B收到此数据帧后,会校对目标IP地址是否是自己,当发现是目标地址是自己,会将主机A的IP地址和MAC地址的对应关系记录到自己的ARP缓存表中,同时会发送一个ARP应答,其中包括自己的MAC地址。

4、主机A在收到这个回应的数据帧之后,在自己的ARP缓存表中记录主机B的IP地址和MAC地址的对应关系。而此时交换机已经学习到了主机A和主机B的MAC地址了。

       路由器负责不同网络之间的通信,它是当今网络中的重要设备,可以说没有路由器就没有当今的互联网。在路由器中有一张路由表,记录着到不同网段的信息。路由表中的信息分为直连路由和非直连路由。

直连路由 :是直接连接在路由器接口的网段,由路由器自动生成。

非直连路由 :不是直接连接在路由器接口上的网段,此记录需要手动添加或者是使用动态路由生成。

       路由表中记录的条目有的需要手动添加(称为静态路由),有的需要动态获取的(称为动态路由)。直连路由属于静态路由。

       路由器是工作在网络层的,在网络层可以识别逻辑地址。当路由器的某个接口收到一个包时,路由器会读取包中相应的目标的逻辑地址的网络部分,然后在路由表中进行查找。如果在路由表中找到目标地址的路由条目,则把包转发到路由器的相应接口,如果在路由表中没有找到目标地址的路由条目,那么,如果路由配置默认路由,就科举默认路由的配置转发到路由器的相应接口;如果没有配置默认路由,则将该包丢弃,并返回不可到达的信息。这就是数据路由的过程。

如下图:详细介绍路由器的工作原理

1、HostA在网络层将来自上层的报文封装成IP数据包,其中源IP地址为自己,目标IP地址是HostB,HostA会用本机配置的24位子网掩码与目标地址进行“与”运算,得出目标地址与本机不是同一网段,因此发送HostB的数据包需要经过网关路由A的转发。

2、HostA通过ARP请求获取网关路由A的E0口的MAC地址,并在链路层将路由器E0接口的MAC地址封装成目标MAC地址,源MAC地址是自己。

3、路由器A从E0可接收到数据帧,把数据链路层的封装去掉,并检查路由表中是否有目标IP地址网段(即19216822的网段)相匹配的的项,根据路由表中记录到19216820网段的数据请发送给下一跳地址10112,因此数据在路由器A的E1口重新封装,此时,源MAC地址是路由器A的E1接口的MAC地址,封装的目标MAC地址则是路由器2的E1接口的MAC地址。

4、路由B从E1口接收到数据帧,同样会把数据链路层的封装去掉,对目标IP地址进行检测,并与路由表进行匹配,此时发现目标地址的网段正好是自己E0口的直连网段,路由器B通过ARP广播,获知HostB的MAC地址,此时数据包在路由器B的E0接口再次封装,源MAC地址是路由器B的E0接口的MAC地址,目标MAC地址是HostB的MAC地址。封装完成后直接从路由器的E0接口发送给HostB。

5、此时HostB才会收到来自HostA发送的数据。

总结:路由表负责记录一个网络到另一个网络的路径,因此路由器是根据路由表工作的。

至此,三张表介绍完毕。

以上就是关于什么是ARP全部的内容,包括:什么是ARP、什么是ARP、arp表中的mac地址来源等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9516527.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存