1、Arp定义
ARP 协议的全称是 Address Resolution Protocol(地址解析协议),它是一个通过用于实现从 IP 地址到 MAC 地址的映射,即询问目标 IP 对应的 MAC 地址 的一种协议。ARP 协议在 IPv4 中极其重要,它解决了二层网络中,数据通讯问题。
2、ARP通讯过程
一个网络里有四个主机,网络互联的情况如下:
主机 A 想要获取主机 D 的 MAC 地址,通过主机 A 会通过广播的方式向以太网上的所有主机发送一个 ARP 请求包,这个 ARP 请求包中包含了主机 A 想要知道的主机 D 的 IP 地址的 MAC 地址,同时也附上了自己的IP与MAC地址。
主机 A 发送的 ARP 请求包会被同一链路上的所有主机/路由器接收并进行解析。每个主机/路由器都会检查 ARP 请求包中的信息,如果 ARP 请求包中的目标 IP 地址 和自己的相同,就会将自己主机的 MAC 地址写入响应包返回主机 A
ARP 会维护每个主机和路由器上的 ARP 缓存(或表)。这个缓存维护着每个 IP 到 MAC 地址的映射关系。通过把第一次 ARP 获取到的 MAC 地址作为 IP 对 MAC 的映射关系到一个 ARP 缓存表中,下一次再向这个地址发送数据报时就不再需要重新发送 ARP 请求了,而是直接使用这个缓存表中的 MAC 地址进行数据报的发送。
ARP缓存表,在windows中每隔180S,Linux中每隔60S,就会被清除。一般AB之间,在数据通讯的话,每发送一次 ARP 请求,缓存表中对应的映射关系的倒计时清除都会被重置。
交换机也有一个专门保存端口与MAC地址对应关系的数据表-MAC地址表,二层交换机依靠这个表转发数据帧,从而让两个IT设备可以通讯。华为交换机的MAC地址表,默认的清除时间是300S。
3、arp查询命令
Linux操作系统下arp查询缓存
[root@rhel92-80 ~]# arp -a ? (172.25.250.70) at 00:0c:29:20:80:5d [ether] on ens160 ? (172.25.250.79) at 00:0c:29:df:ca:d9 [ether] on ens160 ? (172.25.250.1) at 00:50:56:c0:00:08 [ether] on ens160 _gateway (172.25.250.2) at 00:50:56:f6:e1:9d [ether] on ens160
windows操作系统下arp缓存
C:\Users\hp168>arp -a 接口: 192.168.56.1 --- 0x5 Internet 地址 物理地址 类型 192.168.56.255 ff-ff-ff-ff-ff-ff 静态 224.0.0.2 01-00-5e-00-00-02 静态 224.0.0.22 01-00-5e-00-00-16 静态 224.0.0.251 01-00-5e-00-00-fb 静态 224.0.0.252 01-00-5e-00-00-fc 静态 239.255.255.250 01-00-5e-7f-ff-fa 静态 接口: 192.168.50.17 --- 0xa Internet 地址 物理地址 类型 192.168.50.1 04-d4-c4-41-b5-30 动态 192.168.50.255 ff-ff-ff-ff-ff-ff 静态 224.0.0.2 01-00-5e-00-00-02 静态 224.0.0.22 01-00-5e-00-00-16 静态 224.0.0.251 01-00-5e-00-00-fb 静态 224.0.0.252 01-00-5e-00-00-fc 静态 239.255.255.250 01-00-5e-7f-ff-fa 静态 255.255.255.255 ff-ff-ff-ff-ff-ff 静态
4、Arp攻击
ARP 攻击 ARP 是一种非常不安全的协议,目前已经有很多涉及 ARP 的攻击,最主要的就是使用代理 ARP 功能假扮主机,对 ARP 请求作出应答,通过伪造 ARP 数据包来窃取合法用户的通信数据,造成影响网络传输速率和盗取用户隐私信息等严重危害。
ARP 攻击分类 ARP 主要攻击方式分为下面这几种
ARP 泛洪攻击:通过向网关发送大量 ARP 报文,导致网关无法正常响应。首先发送大量的 ARP 请求报文,然后又发送大量虚假的 ARP 响应报文,从而造成网关部分的 CPU 利用率上升难以响应正常服务请求,而且网关还会被错误的 ARP 缓存表充满导致无法更新维护正常 ARP 缓存表,消耗网络带宽资源。
ARP 欺骗主机攻击:攻击者通过 ARP 欺骗使得局域网内被攻击主机发送给网关的流量信息实际上都发送给攻击者。主机刷新自己的 ARP 使得在自己的ARP 缓存表中对应的 MAC 为攻击者的 MAC,这样一来其他用户要通过网关发送出去的数据流就会发往主机这里,这样就会造成用户的数据外泄。
欺骗网关的攻击: 欺骗网关就是把别的主机发送给网关的数据通过欺骗网关的形式使得这些数据通过网关发送给攻击者。这种攻击目标选择的不是个人主机而是局域网的网关,这样就会攻击者源源不断的获取局域网内其他用户韵数据.造成数据的泄露,同时用户电脑中病毒的概率也会提升。
中间人攻击: 中间人攻击是同时欺骗局域网内的主机和网关,局域网中用户的数据和网关的数据会发给同一个攻击者,这样,用户与网关的数据就会泄露。