ARP
ARP 是什么?
ARPRFC 826 定义的链路层协议,用于将 IPv4 地址映射为同一广播域中主机的 MAC 地址,以便投递帧。
地址解析协议(Address Resolution Protocol)由 RFC 826(1982 年)定义,运行在链路层与网络层的交界处。当主机需要把 IPv4 数据包发往同一子网中的目的地时,它会以广播方式发送 ARP 请求(谁拥有 192.168.1.1?),拥有该地址的主机以自己的 MAC 地址回应。该映射会缓存在 ARP 表中,供后续帧使用。
flowchart TD H["主机 A 想找 192.168.1.1"] -->|"广播:谁拥有 .1?"| LAN[(广播域)] LAN --> GW[网关 .1] LAN --> ATK[攻击者] GW -->|"应答:.1 是 aa:bb:cc"| H ATK -->|"gratuitous 应答:.1 是我的 MAC"| H H -.->|"缓存被投毒"| ATK ATK -->|"中继 / 嗅探"| GW
ARP 没有身份验证,所以同网段中的任何主机都可以回答,甚至主动发送未请求的 gratuitous 应答。这就为 ARP 欺骗 / ARP 投毒提供了条件:把流量重定向到攻击者进行嗅探或篡改——这是经典的在途(中间人)攻击原语,可由 arpspoof(来自 dsniff)、Ettercap 和 Bettercap 等工具自动化执行。由于应答会无需任何质询便覆盖缓存表项,每秒几个数据包就足以维持劫持。在受管交换机上的防御措施包括 Dynamic ARP Inspection(DAI),它会依据 DHCP snooping 的绑定表校验应答,此外还有为关键主机配置静态 ARP 表项、端口安全,以及用 VLAN 划分信任边界。IPv6 放弃了 ARP,改用 Neighbor Discovery(ICMPv6,RFC 4861),其 SEND 扩展(RFC 3971)引入加密生成地址,以抵御同类欺骗。
● 示例
- 01
Wireshark 在主机启动时会显示 ARP 请求与应答,主机借此学习默认网关的 MAC 地址。
- 02
攻击者发送声称拥有网关 IP 的 gratuitous ARP 应答,将局域网流量重定向到自己。
● 常见问题
ARP 是什么?
RFC 826 定义的链路层协议,用于将 IPv4 地址映射为同一广播域中主机的 MAC 地址,以便投递帧。 它属于网络安全的 网络安全 分类。
ARP 是什么意思?
RFC 826 定义的链路层协议,用于将 IPv4 地址映射为同一广播域中主机的 MAC 地址,以便投递帧。
如何防御 ARP?
针对 ARP 的防御通常结合技术控制与运营实践,详见上方完整定义。
ARP 还有哪些其他名称?
常见的别称包括: 地址解析协议。