2024年3月20日发(作者:)

ARP欺骗

什么是ARP

ARP(Address Resolution Protocol)是地址解析协议,是一种将IP地址转化

成物理地址的协议。从IP地址到物理地址的映射有两种方式:表格方式和非表格方

式。ARP具体说来就是将网络层(也就是相当于OSI的第三层)地址解析为数据链

路层(也就是相当于OSI的第二层)的物理地址(注:此处物理地址并不一定指MAC

地址)。

ARP原理:某机器A要向主机B发送报文,会查询本地的ARP缓存表,找到B

的IP地址对应的MAC地址后,就会进行数据传输。如果未找到,则广播A一个AR

P请求报文(携带主机A的IP地址Ia——物理地址Pa),请求IP地址为Ib的主机

B回答物理地址Pb。网上所有主机包括B都收到ARP请求,但只有主机B识别自己

的IP地址,于是向A主机发回一个ARP响应报文。其中就包含有B的MAC地址,

A接收到B的应答后,就会更新本地的ARP缓存。接着使用这个MAC地址发送数据

(由网卡附加MAC地址)。因此,本地高速缓存的这个ARP表是本地网络流通的基

础,而且这个缓存是动态的。

ARP协议并不只在发送了ARP请求才接收ARP应答。当计算机接收到ARP应

答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存

储在ARP缓存中。因此,当局域网中的某台机器B向A发送一个自己伪造的ARP

应答,而如果这个应答是B冒充C伪造来的,即IP地址为C的IP,而MAC地址是

伪造的,则当A接收到B伪造的ARP应答后,就会更新本地的ARP缓存,这样在A

看来C的IP地址没有变,而它的MAC地址已经不是原来那个了。由于局域网的网

络流通不是根据IP地址进行,而是按照MAC地址进行传输。所以,那个伪造出来的

MAC地址在A上被改变成一个不存在的MAC地址,这样就会造成网络不通,导致A

不能Ping通C!这就是一个简单的ARP欺骗。

ARP协议的工作原理

在每台装有tcp/ip协议的电脑里都有一个ARP缓存表,表里的ip地址与mac地

址是一一对应的,如图。

arp缓存表

以主机A(192.168.1.5)向主机B(192.168.1.1)发送数据为例。当发送数据

时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知

道了目标的mac地址,直接吧目标的mac地址写入帧里面发送就可以了;如果在A

RP缓存表里面没有目标的IP地址,主机A就会在网络上发送一个广播,目标mac地

址是―ff-ff-ff-ff-ff-ff‖,这表示向同一网段的所有主机发出这样的询问:―192.168.1.1的

mac地址是什么呀?‖网络上的其他主机并不回应这一询问,只有主机B接受到这个

帧时才向A作出回应:―192.168.1.1的mac地址是00-aa-0-62-c6-09。(如上表)‖

这样,主机A就知道了主机B的mac地址,就可以向主机B发送信息了。同时,它

还更新了自己的ARP缓存表,下次再向B发送数据时,直接在ARP缓存表找就可以

了。ARP缓存表采用老化的机制,在一段时间里表中的某一行没有使用,就会被删除,

这样可以大大减少ARP缓存表的长度,加快查询的速度。

如何查看ARP缓存表

ARP缓存表示可以查看的,也可以添加和修改。在命令提示符下,输入―arp -a‖

就可以查看arp缓存表的内容了。

用―arp -d‖可以删除arp缓存表里的所有内容。

用―arp -s―可以手动在arp表中制定ip地址与mac地址的对应关系。

ARP欺骗的种类

ARP欺骗是黑客常用的攻击手段之一,ARP欺骗分为二种,一种是对路由器A

RP表的欺骗;另一种是对内网PC的网关欺骗。

第一种ARP欺骗的原理是——截获网关数据。它通知路由器一系列错误的内网

MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路

由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收

到信息。第二种ARP欺骗的原理是——伪造网关。它的原理是建立假网关,让被它

欺骗的PC向假网关发数据,而不是通过正常的路由器途径上网。在PC看来,就是

上不了网了,―网络掉线了‖。

一般来说,ARP欺骗攻击的后果非常严重,大多数情况下会造成大面积掉线。有

些网管员对此不甚了解,出现故障时,认为PC没有问题,交换机没掉线的―本事‖,

电信也不承认宽带故障。而且如果第一种ARP欺骗发生时,只要重启路由器,网络

就能全面恢复,那问题一定是在路由器了。为此,宽带路由器背了不少―黑锅‖。

arp欺骗-网络执法官的原理

在网络执法官中,要想限制某台机器上网,只要点击"网卡"菜单中的"权限",选

择指定的网卡号或在用户列表中点击该网卡所在行,从右键菜单中选择"权限",在弹

出的对话框中即可限制该用户的权限。对于未登记网卡,可以这样限定其上线:只要

设定好所有已知用户(登记)后,将网卡的默认权限改为禁止上线即可阻止所有未知

的网卡上线。使用这两个功能就可限制用户上网。其原理是通过ARP欺骗发给被攻

击的电脑一个假的网关IP地址对应的MAC,使其找不到网关真正的MAC地址,这

样就可以禁止其上网。