arp和arp欺骗

发布于:2023-01-23 ⋅ 阅读:(406) ⋅ 点赞:(0)

读《Web安全深度剖析》所得

ARP协议简介

ARP是Address Resolution Protocol(地址解析协议)的缩写。在以太网中,两台主机想要通信,就必须要知道目标主机的MAC(Medium/Media Access Control,介质访问控制)地址(MAC地址如同身份证号码,具有全球唯一性)。地址解析协议的基本功能就是在主机发送数据之前将目标IP转换为MAC地址,完成网络地址到物理地址的映射,以保证两台主机能够正常通信。

ARP缓存表

arp常用命令:
arp -a                //查看缓存表
arp -s IP地址 MAC地址  //建立静态缓存
arp -d                //清空缓存表
arp -d IP地址         //删除指定IP地址的条目

任何一台主机安装了TCP/IP协议都会有ARP缓存表,该表保存了这个网络(局域网)中各主机IP对应的MAC地址,ARP缓存表能够有效地保证数据传输的一对一特性。在Windows中可以使用arp -a命令来查看缓存表,结果如下:
在这里插入图片描述
类型会有静态和动态

如果主机在一段时间内不与类型为动态的IP通信,将会删除对应的条目。而静态ARP缓存条目是永久性的。
arp -s IP地址 MAC地址 在Windows中建立静态类型的ARP缓存表

如果想要清空ARP缓存表,可以使用arp -d命令:如果想别除单个条目,则可以使用arp -d ip地址

ARP缓存表中的条目也是有时效的,在超过指定的时间后,将从缓存中删除它们,Windows默认的ARP缓存项存活时间为两分钟。

局域网主机通信

在这里插入图片描述

A主机要与局域网中B主机进行通信
主机A执行 ping B主机IP
主机A会与主机B的子网掩码进行对比,判断与主机B是否在同一网段。若在,主机A查询本机的ARP缓存表。若存在B主机IP对应的MAC,则直接发送数据。否则,主机A以广播方式发送一个ARP请求报文,ARP请求报文中包含本机的P地址、MAC地址等信息。并且会询问谁是B主机,把你MAC地址发送给我。
B主机接受到广播,会将自己的MAC地址发送给A主机。A主机将B主机对应的MAC地址加入ARP缓存表中。

非局域网主机通信

在局域网中通信比较简单,不需要经过网关就可以直接通信,但若不在一个局域网内就比较复杂了,如主机A与主机C的通信过程如下:
主机A通过网络掩码对比,发现与主机C不在同一局域网内,所以需要网关来转发处理。主机A首先将会查询自己的ARP缓存中是否存在网关1的MAC地址,如果不存在,使用广播获取,如果存在,就直接向网关1发送数据包,由网关1向网关2发送数据包,网关2收到数据包之后发现是发送给主机C的数据,网关2将会查询自己的ARP缓存中是否存在主机C的MAC地址,若存在,则直接发送数据,不存在则以广播方式获取MAC地址后发送数据。

arp欺骗

arp协议的缺陷:
1、由于主机不知道通信对方的MAC地址,所以才需要ARP广播请求获取。当在广播请求时,攻击者就可以伪装ARP应答,冒充真正要通信的主机,以假乱真。
2、ARP协议是无状态的,这就表示主机可以自由地发送ARP应答包,即使主机并未收到查询,并且任何ARP响应都是合法的,许多主机会接收未请求的ARP应答包。
3、一台主机的IP被缓存在另一台主机中,它就会被当作一台可信任的主机。而计算机没有提供检验P到MAC地址是否正确的机制。当主机接收到一个ARP应答后,主机不再考虑IP到MAC地址的真实性和有效性,而是直接将应答包中的MAC地址与对应的IP
地址替换掉原有ARP缓存表的相关信息。

首先,主机B向主机A发送一个ARP响应:192.168.0.1的MAC地址是03-03-03-03-03-03(主机B的MAC地址),而主机A接收到响应后却不会去验证数据的真实性,而是直接替换本机ARP缓存表中192.168.0.1的MAC地址。同时主机B也向主机网关1发送一个ARP响应:192.168.0.3的MAC地址是03-03-03-03-03-03,同样网关也不会去验证,直接放到自己的ARP缓存中。当主机A与主机C通信时,主机A首先会检查自己的ARP缓存表中是否有网关的MAC地址,发现有缓存MAC地址为:03-03-03-03-03-03,于是直接向MAC地址发送数据,但是此时的MAC却不是网关1的,而是主机B的MAC地址。主机B接收到数据后再转发到真正的网关1,由网关1发送到主机C。当主机C接收到数据后,可能会返回数据,而返回数据在到达网关1的时候,网关1首先会检查自己的ARP缓存表,去寻找192.168.0.3对应的MAC地址,MAC地址为:03-03-03-03-03-03,也就是主机B的地址,当主机B接收到数据包后,再转发给真正的主机A,可以说主机A与主机C的通信数据都经过了主机B,没有任何秘密可言,这就是ARP欺骗。

arp欺骗防御

1、静态绑定
静态绑定是指对每台主机进行P和MAC地址静态绑定,静态绑定是防止ARP欺骗的最根本办法。
静态绑定可以通过命令arp -s实现:arp-s IP MAC地址
比如,对网关的静态绑定:arp -s 192.168.195.200-50-56-ee-12-6a

2、arp防火墙
ARP防火墙有很多,常见的有金山ARP防火墙、Anti ARP Sniffer(彩影防火墙)、360ARP防火墙等。
这类ARP软件的功能是非常多的,一般都可以查杀ARP木马,精准地追踪攻击源IP,拦截DNS欺骗、网关欺骗、IP冲突等多种攻击。

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到