ARP原理及ARP欺骗实验

ARP原理及ARP欺骗实验

  • ARP原理及ARP欺骗实验
    • 1. ARP原理
      • **ARP是什么?**
      • **为什么需要ARP?**
      • **ARP工作过程**
      • **ARP请求和ARP响应**
        • **ARP请求**
        • **ARP响应**
    • 2.ARP欺骗
      • **ARP欺骗原理**
      • **ARP欺骗实验**
        • **实验环境**:
        • **实验工具**
        • **配置文件**
        • **查看靶机ARP缓存表**
        • **开始ARP欺骗**
        • **查看靶机ARP缓存表**
        • **开启wireshark抓包**
    • 3. **ARP欺骗防护**
      • **主机层面**
      • **网络节点层面**

ARP原理及ARP欺骗实验

1. ARP原理

  • ARP是什么?

ARP(Address Resolution Protocol),即地址解析协议。可以根据IP地址获取到MAC地址,属于TCP/IP数据链路层。

  • 为什么需要ARP?

一个网络设备要发送给另一个网络设备时,必须要知道对方的IP地址。但是,IP数据报文必须要封装成帧才能通过数据链路层进行发送,而数据帧必须要包含目的MAC地址,因此发送端必须要获取到目的MAC。

  • ARP工作过程

ARP原理及ARP欺骗实验_第1张图片

  • ARP请求和ARP响应

  • ARP请求

主机A首次发送数据包给主机C时,主机A会发送ARP Request来获取主机C的MAC地址。由于主机A不知道主机C的MAC地址,所以目的MAC地址为FF-FF-FF-FF-FF(此过程即为广播)。ARP Request会在整个网络中传播,该网络中的所有主机包括网关都会收到此报文。
ARP原理及ARP欺骗实验_第2张图片

  • ARP响应

所有主机收到该ARP Request报文后,会检查目的IP是否与自身IP相匹配,如果不匹配,则丢弃此报文。如果匹配,则将ARP报文中的源MAC地址和源IP地址记录到自己的ARP缓存中,并通过ARP Reply报文进行响应。
ARP原理及ARP欺骗实验_第3张图片

2.ARP欺骗

  • ARP欺骗原理

如图中,主机B通过伪造ARP Reply响应包,将自己的MAC和和主机C的IP地址作为响应包发送给主机A,伪装成主机C。自此,主机A发送给主机C的数据包都会被主机B截获。ARP原理及ARP欺骗实验_第4张图片

  • ARP欺骗实验

  • 实验环境

kali–10.0.0.200(攻击机),win10–10.0.0.201(靶机),网关10.0.0.2

  • 实验工具

arpspoof
wireshark

  • 配置文件

/proc/sys/net/ipv4/ip_forward是Linux系统的数据包转发配置文件,为了安全考虑,默认是禁止的。

echo 1 >/proc/sys/net/ipv4/ip_forward
  • 查看靶机ARP缓存表

ARP原理及ARP欺骗实验_第5张图片

  • 开始ARP欺骗

root@kali:~# arpspoof -t 10.0.0.201 10.0.0.2
  • 查看靶机ARP缓存表

此时,攻击机已经伪装成网关。
ARP原理及ARP欺骗实验_第6张图片

  • 开启wireshark抓包

root@kali:~# wireshark

这里已经抓到靶机的流量。
ARP原理及ARP欺骗实验_第7张图片

3. ARP欺骗防护

ARP欺骗本质是利用了ARP协议自身的缺陷,只要能防止主机伪造IP对应的MAC地址即可防御。
所以,从以下两点进行:

  • 主机层面

安装防病毒软件,保证病毒库的及时更新。

  • 网络节点层面

在交换机或启用ARP代理的路由器上设置IP地址与MAC地址绑定。如果接入层交换机有ARP检查功能的话,一定要启用该功能。

你可能感兴趣的:(网络安全)