【渗透测试】ARP是什么?有什么作用?
文章目录
- ARP(地址解析协议)详解
- **核心功能**
- **工作流程**
- **ARP报文结构**
- **典型应用场景**
- **安全风险与防御**
- **常见攻击**
- **防御措施**
- **相关命令示例**
- **与其他协议的关系**
- **总结**
ARP(地址解析协议)详解
ARP(Address Resolution Protocol) 是用于将网络层的 IP地址 解析为数据链路层的 MAC地址 的协议,确保局域网(LAN)内设备能正确通信。
核心功能
- IP到MAC的映射:通过查询或广播,确定目标设备的MAC地址。
- 维护ARP缓存:存储IP与MAC的对应关系,减少重复查询。
工作流程
-
ARP请求(广播)
- 当设备A需要与设备B通信,但未知B的MAC地址时,设备A发送 ARP请求包(包含A的IP、MAC及B的IP),广播至局域网所有设备。
-
ARP响应(单播)
- 设备B收到请求后,若IP匹配,则单播回复 ARP响应包(包含B的MAC地址)。其他设备忽略该请求。
-
更新ARP缓存
- 设备A收到响应后,记录B的IP-MAC映射到本地ARP表,后续通信直接使用。
ARP报文结构
字段 | 长度(字节) | 说明 |
---|---|---|
硬件类型 | 2 | 网络类型(如以太网为1) |
协议类型 | 2 | 上层协议(IPv4为0x0800) |
硬件地址长度 | 1 | MAC地址长度(通常6字节) |
协议地址长度 | 1 | IP地址长度(通常4字节) |
操作码 | 2 | 1(请求)或2(响应) |
发送方MAC地址 | 6 | 源设备的MAC地址 |
发送方IP地址 | 4 | 源设备的IP地址 |
目标MAC地址 | 6 | 请求时为全0,响应时填充 |
目标IP地址 | 4 | 待解析的目标设备IP地址 |
典型应用场景
-
局域网通信
- 设备通过ARP获取同一子网内其他设备的MAC地址,如PC访问打印机。
-
网关通信
- 当设备访问外网时,需先获取默认网关的MAC地址,数据包通过网关转发。
-
ARP代理(Proxy ARP)
- 路由器代替目标设备响应ARP请求,用于跨子网通信(如VPN环境)。
安全风险与防御
常见攻击
- ARP欺骗(ARP Spoofing):攻击者伪造ARP响应,声称自己是目标IP的拥有者,截获或篡改流量。
- ARP泛洪(ARP Flooding):发送大量虚假ARP包,耗尽交换机MAC表资源,导致网络瘫痪。
防御措施
- 静态ARP绑定:手动配置IP-MAC映射(如
arp -s 192.168.1.1 00-aa-bb-cc-dd
)。 - 动态ARP检测(DAI):交换机验证ARP报文的合法性,阻断非法响应。
- 网络分段:使用VLAN隔离敏感区域,缩小攻击面。
- 加密通信:通过IPSec或HTTPS保护数据,降低被窃听风险。
相关命令示例
-
查看ARP缓存
# Windows arp -a# Linux arp -n
-
清除ARP缓存
# Windows netsh interface ip delete arpcache# Linux ip -s -s neigh flush all
-
绑定静态ARP条目
# Windows(管理员权限) arp -s 192.168.1.100 00-11-22-33-44-55# Linux sudo arp -i eth0 -s 192.168.1.100 00:11:22:33:44:55
与其他协议的关系
- RARP(反向ARP):将MAC地址解析为IP地址(现多被DHCP取代)。
- NDP(IPv6邻居发现协议):在IPv6中替代ARP,实现地址解析与路由发现。
总结
ARP是局域网通信的基石,确保IP与MAC的正确映射。尽管高效,但缺乏内置安全机制,需结合静态绑定、动态检测等技术防范攻击。理解ARP原理有助于诊断网络故障(如IP冲突、中间人攻击)并优化网络性能。