2025-3-1-ARP协议与攻击防护
ARP工作原理
地址解析协议(ARP, Address Resolution Protocol) 是 TCP/IP 网络中的关键协议,它用于将 IP 地址解析为 MAC 地址,以便设备能够在本地网络中通信。
ARP 的基本工作流程如下:
主机 A 发送 ARP 请求(广播)
当主机 A 需要知道目标主机 B 的 MAC 地址时,它会发送一个 ARP 请求,广播到整个子网,格式如下:
谁是 192.168.1.2?请告诉 192.168.1.1
2.目标主机 B 发送 ARP 响应(单播)
- 目标主机 B(192.168.1.2)收到 ARP 请求后,查找自己的 IP 地址,并返回一个 ARP 响应,将自己的 MAC 地址发回给主机 A。
- 主机 A 存储 ARP 映射
- 主机 A 收到 ARP 响应后,会将目标主机 B 的 IP 和 MAC 地址存入 ARP 缓存表(ARP Cache),避免重复查询,提高效率
示例:查看当前 ARP 缓存表
arp -a
APR欺骗攻击
ARP 没有身份验证机制,因此攻击者可以伪造 ARP 响应,欺骗网络中的其他设备,将流量重定向到自己,从而进行 中间人攻击(MITM, Man-In-The-Middle) 或者 流量窃听。
ARP 欺骗的基本原理
- 攻击者伪造 ARP 响应,将 网关的 MAC 地址修改为自己的 MAC 地址,让受害者将数据发送给攻击者。
- 攻击者同时向网关发送伪造的 ARP 响应,冒充受害者 IP 地址,使网关误以为攻击者是受害者。
- 受害者与网关之间的通信都会经过攻击者,攻击者可以窃听、篡改或转发数据。
执行 ARP 欺骗攻击
在 Kali Linux 上使用 arpspoof
进行 ARP 欺骗攻击:
1 | # 让目标 192.168.1.100 认为攻击者是网关 192.168.1.1 |
执行后,攻击者就成为了受害者和网关之间的“中间人”,可以拦截所有数据。
ARP攻击局限
ARP 欺骗的主要局限性是 只能在同一广播域(同一局域网)内生效,因为 ARP 数据包不会跨越路由器。
- 如果攻击者和受害者不在同一网段,ARP 欺骗攻击 无法直接生效。
- 但如果可以 近源渗透(例如 WiFi 入侵、获取 VPN 接入权限),攻击者仍可以利用 ARP 欺骗进行攻击。
ARP欺骗攻击防御
由于 ARP 本身没有安全机制,所以需要采取额外的防护措施。
1. 使用 ARP 静态绑定
最有效的防御方法是使用 静态 ARP 绑定,手动将 IP 绑定到正确的 MAC 地址:
1 | # 在 Windows 上永久绑定网关 IP 和 MAC 地址 |
在 Linux/macOS 上:
1 | sudo ip neigh add 192.168.1.1 lladdr aa:bb:cc:dd:ee:ff dev eth0 nud permanent |
注意:
- 静态绑定适用于小型网络,但在大型企业网络中维护难度较高。
2. 启用动态 ARP 检测(DAI)
企业级交换机(如 Cisco、H3C)支持 动态 ARP 检测(DAI, Dynamic ARP Inspection),可以防止 ARP 欺骗:
1 | ip arp inspection vlan 10 |
3. 使用防火墙检测 ARP 攻击
许多 防火墙(如 iptables
)可以监测 ARP 异常流量:
1 | iptables -A INPUT -p arp --arp-opcode Request -m limit --limit 5/s -j ACCEPT |
这样可以限制 ARP 请求的频率,减少 ARP 洪水攻击的风险。
高级攻击-ARP洪水
ARP 洪水攻击(ARP Flooding)是一种 DoS(拒绝服务)攻击,攻击者不断发送大量伪造的 ARP 包,使交换机的 ARP 表溢出,导致:
- 交换机无法正确解析 MAC 地址,进入 Hub 模式,导致所有流量广播,增加网络拥塞。
- 攻击者可以监听大量流量,从而获取敏感信息。
总结
| 攻击类型 | 描述 | 防御方法 | | ———————- | ————————————————– | ———————————————– | | ARP 欺骗 | 伪造网关/目标 IP 的 MAC 地址,进行流量劫持 | 静态 ARP 绑定,启用 DAI,使用防火墙检测 | | ARP 洪水 | 发送大量 ARP 数据包,导致交换机崩溃或进入 Hub 模式 | 限制 ARP 请求速率,使用防火墙规则 | | MITM(中间人攻击) | 拦截受害者与网关的流量,进行监听或数据篡改 | SSL/TLS 加密,使用 VPN,使用静态 ARP |
结论
- ARP 协议是 无状态的,没有安全机制,容易受到欺骗攻击。
- ARP 欺骗 可以用于 流量劫持、监听、数据篡改,但需要在同一广播域内。
- ARP 洪水 可以 让交换机进入 Hub 模式,监听整个网络。
- 防御方法包括:静态 ARP 绑定、启用动态 ARP 检测(DAI)、使用防火墙过滤异常流量。