核心思想
ARP欺骗的本质是“伪造身份,劫持流量”。它利用了网络通信中一个基础但脆弱的环节——ARP协议。
---
1. 基础知识:正常的ARP工作流程
在了解欺骗之前,必须先知道正常的ARP是如何工作的。
· ARP协议的作用:将IP地址解析为MAC地址(网卡物理地址)。局域网内的通信最终依赖MAC地址。
· 示例场景:假设局域网中有三台设备:
· 受害者A: IP 192.168.1.10, MAC AA:AA:AA:AA:AA:AA
· 网关G: IP 192.168.1.1, MAC GG:GG:GG:GG:GG:GG
· 攻击者M: IP 192.168.1.99, MAC MM:MM:MM:MM:MM:MM
正常通信过程:
当A想上网(访问外网)时,它需要把数据包发给网关G。但A只知道G的IP是192.168.1.1,不知道其MAC地址。
1. A会在局域网内广播一个ARP请求: “谁是192.168.1.1? 请告诉192.168.1.10。”
2. 网关G收到后,会单播回复一个ARP应答: “我是192.168.1.1,我的MAC是GG:GG:GG:GG:GG:GG。”
3. A收到应答后,将IP: 192.168.1.1和MAC: GG:GG:GG:GG:GG:GG的对应关系存入自己的ARP缓存表。
4. 此后,A要发送给外网的数据包,都会封装上目标MAC地址GG:GG:GG:GG:GG:GG,顺利到达网关。
ARP协议的关键缺陷: 它是一个无状态的、信任的协议。设备会无条件相信收到的ARP应答,即使它没有发出过对应的请求(无故ARP),并且会用新收到的信息直接覆盖缓存表中的旧记录,而不做真实性验证。
---
2. ARP欺骗的攻击原理
攻击者M正是利用了上述缺陷。
攻击目标: 让受害者A和网关G都错误地认为攻击者M的MAC地址是对方的MAC地址。
攻击步骤:
第一步:对受害者A进行欺骗
· 攻击者M主动向受害者A发送一个伪造的ARP应答包(并非回应A的请求)。
· 这个包里声称: “IP地址 192.168.1.1(网关) 对应的MAC地址是 MM:MM:MM:MM:MM:MM(攻击者自己的MAC)”。
· 受害者A收到后,由于ARP协议的缺陷,会毫不犹豫地更新自己的ARP缓存表,将网关IP(192.168.1.1)和攻击者MAC(MM:MM:MM:MM:MM:MM)绑定。
第二步:对网关G进行欺骗
· 同时,攻击者M也向网关G发送一个伪造的ARP应答包。
· 这个包里声称: “IP地址 192.168.1.10(受害者A) 对应的MAC地址是 MM:MM:MM:MM:MM:MM(攻击者自己的MAC)”。
· 网关G同样会更新自己的ARP缓存表,将A的IP(192.168.1.10)和攻击者MAC(MM:MM:MM:MM:MM:MM)绑定。
结果形成了“三角关系”:
· 受害者A认为: 网关(192.168.1.1) = M的MAC
· 网关G认为: 受害者A(192.168.1.10) = M的MAC
· 实际上,攻击者M的MAC地址 MM:MM:MM:MM:MM:MM 同时“冒名顶替”了A和G。
---
3. 流量如何被劫持(中间人攻击)
完成ARP欺骗后,网络流量路径发生变化:
1. 当受害者A要上网时,数据包的目标MAC写的是攻击者M的地址(因为A以为M就是网关)。交换机根据MAC地址将数据包转发给M。
2. 攻击者M收到本应发给网关的数据包后,可以查看、修改这些数据(例如窃取密码、插入恶意代码),然后再转发给真正的网关G(为了不中断连接,让A能正常上网,否则就是DoS攻击)。同样,M会开启系统的IP转发功能。
3. 网关G收到来自外网的回复数据,要发回给A(192.168.1.10)时,查自己的ARP表,发现A的MAC也是M,于是数据包又发给了M。
4. M同样可以查看、修改这些回复数据,然后再转发给受害者A。
这样,攻击者M就神不知鬼不觉地插在了受害者A和网关之间,所有的流量都“流经”M,实现了“中间人攻击”。
---
4. 攻击的持续性与防御
· 持续欺骗:ARP缓存条目有过期时间(通常几分钟)。为了维持攻击,攻击者M会持续地、定时地发送伪造的ARP应答,确保A和G的ARP表一直被“污染”。
· 防御手段:
1. 静态ARP绑定:在重要设备(如服务器、网关)上手动绑定IP-MAC地址对,使其不响应ARP更新。但管理繁琐。
2. ARP防护软件/功能:安装ARP防火墙,能检测并阻止本机ARP缓存被异常更改。企业级交换机可启用 DAI(动态ARP检测) 等安全功能,验证ARP报文的合法性。
3. 网络分段与加密:使用VLAN减少广播域范围,并对关键通信使用HTTPS、SSH、VPN等加密方式。即使流量被劫持,攻击者也无法轻易解密内容。
4. 安全意识:不连接不可信的Wi-Fi网络,尤其是在公共场合。
总结
关键点 说明
利用的漏洞 ARP协议的无状态、无认证设计缺陷。
攻击手段 主动发送伪造的ARP应答,篡改目标设备的ARP缓存表。
攻击目的 实现中间人攻击,进行流量窃听、篡改、会话劫持或DoS。
根本原因 局域网通信依赖MAC地址,而IP到MAC的映射关系可以被恶意伪造。
简单来说,ARP欺骗就像在一个办公室里,有人冒充部门经理(网关)对员工(受害者)说:“以后报告都交给我,我转交给经理。”同时又冒充员工对经理说:“以后指示都发给我,我转交给员工。” 于是,这个骗子就成了所有信息的必经中枢,可以随意查看和篡改。