当前位置: 首页 > news >正文

ARP协议以及ARP欺骗攻击的原理

ARP协议以及ARP欺骗攻击的原理

ARP协议

ARP(Address Resolution Protocol)协议,即地址解析协议,是一个通过网络层地址来寻找数据链路层地址的网络传输协议。简单说,ARP协议就是一个将IP地址解析成MAC地址的协议。

每台安装有TCP/IP协议的电脑或路由器里都有一个ARP缓存表,该表内容中IP地址与MAC地址是一一对应的。

当需要与已知IP的主机进行通信时,本机会先查看自身ARP缓存表中是否存在目标IP地址的MAC地址,如果存在则在数据包中直接使用目标IP地址对应的MAC地址;否则,将进行广播ARP请求、接收ARP响应等动作来获取目标IP地址对应的MAC地址。

ARP缓存表

可使用arp -a 查看

接口: 192.16x.xx.xx --- 0x7Internet 地址         物理地址              类型192.168.xx.1          20-f4-1b-b4-2d-f2     动态192.168.xx.255        ff-ff-ff-ff-ff-ff     静态....255.255.255.255       ff-ff-ff-ff-ff-ff     静态

其作用与特点:

  • 表内存储IP地址与MAC地址的映射,减少重复ARP请求
  • 发送方接收ARP响应后,会将对应映射关系存储在本地ARP缓存中
  • 采用了老化机制,在定期更新缓存,会将一段时间内未再使用的映射删除

ARP请求

发送方不知目标IP设备的MAC地址时,会发送一个ARP请求广播包,询问其局域网内“谁拥有这个IP地址”。该局域网中的所有设备都会收到该请求。

ARP数据包以太网帧头的目标MAC地址为FF:FF:FF:FF:FF:FF,全为一,表示广播地址。

ARP响应

当局域网中某个设备发现自身的IP地址与ARP请求中的目标IP地址匹配时,会向发送方发一个ARP响应包,告知自身的MAC地址。

报文结构

1769763785522

以太网帧

字段 长度 说明
目标MAC 6字节 广播请求时FF:FF:FF:FF:FF:FF响应时为具体主机MAC。
源MAC 6字节 发送方的MAC地址。
帧类型 2字节 标识上层协议。ARP协议的值为 0x0806

ARP报文

字段 长度 描述 典型值
硬件类型 (HTYPE) 2字节 网络接口类型 1 (表示以太网)
协议类型 (PTYPE) 2字节 上层协议类型 0x0800 (表示IPv4)
硬件地址长度 1字节 MAC地址长度 6
协议地址长度 1字节 IP地址长度 4
操作码 (Opcode) 2字节 报文类型 1 (请求), 2 (响应)
源MAC (SHA) 6字节 发送方MAC 攻击中常被伪造
源IP (SPA) 4字节 发送方IP 攻击中常被伪造
目标MAC (THA) 6字节 接收方MAC 请求包中通常全0
目标IP (TPA) 4字节 接收方IP 谁拥有这个IP?

ARP欺骗

核心漏洞:无验证

ARP协议在设计之初就缺乏安全验证,导致主机不仅会接受它请求过的ARP响应,也会接受它没有请求过的ARP响应。

攻击原理

攻击者通过伪造ARP响应包,欺骗受害者和网关:

  • 欺骗网关:告诉网关,“我是受害者IP,我的MAC是攻击者的MAC”。
  • 欺骗受害者:告诉受害者,“我是网关IP,我的MAC是攻击者的MAC”

进而可以实现:

  • 断网攻击:拿到流量后丢弃
  • 中间人攻击截取数据包进行监听或篡改,后进行转发

ARP防御

对于防御ARP欺骗,我的思路是:

  • 静态绑定双方IP和MAC地址
  • 使用Wiresharp抓包,查看是否有大量ARP响应包
  • 使用安全厂商的防火墙

对于防御,我知之甚少,但是看到一篇防御文章,颇感有趣也非常受用,在此附上链接:https://www.cnblogs.com/csguo/p/7527582.html#/

http://www.jsqmd.com/news/322528/

相关文章:

  • 手残党福音!我终于也有对称的野生眉了!记录久匠纹眉体验全攻略
  • 北京纹眉机构推荐?北京纹眉哪家好最专业?小白纹眉体验全记录
  • COMSOL案例解析:水平井应力场耦合机制与模拟研究
  • CRM系统如何管理客户?
  • 小巧好用,公司或者家用打印机自动安装驱动工具
  • 轻松搞定trader-x合约量化策略的实现与优化
  • colcon build 与 colcon build --symlink-install
  • 2026年贵阳养老院与养老康复中心五大优选:专业照护,安心颐养
  • 三分钟快速了解Docker
  • Kubernetes 数据迁移实战:使用 pv-migrate 工具高效迁移 PVC 数据
  • 仙人动漫-长期专注、极致打磨某一技艺,达到“人技合一”甚至“道”的境界
  • 实用指南:智慧引擎,零碳未来:安科瑞EMS3.0赋能省园区高效低碳转型
  • 【2026官方最新】贵州工商职业学院专业设置一览表(含39个专业方向)
  • 1.30 请求数据格式 相应数据格式
  • 如何打印Android手机联系人?
  • 制造国企劳动力管理如何突破合规管理困境?
  • 2026年1月30日
  • 如何用 5 种有效方法在Android手机中添加联系人
  • js打开新页签
  • ShardingSphere 分库分表技术详解与 Spring Boot 实践
  • 非线性参数的精英学习灰狼优化算法(Matlab)
  • 2026年四川印刷厂家综合实力榜:旭美印务以一站式解决方案引领行业
  • MATH Day 07 - 周复习与拓展
  • 急急急!26年国自然申请仅剩一个多月!本子再不打磨修改就来不及了!
  • JAVA安全基础-CC1链
  • 智能体安全性的综述:应用、威胁与防御 - 教程
  • 2026年重庆中专学校选择指南 靠谱院校盘点及择校参考 多家优质院校全解析
  • 特化(Specialization)详解 + 代码示例
  • 谷歌新操作系统 Aluminium OS 细节曝光
  • 2026年贵阳养老机构五大推荐:安心托付,乐享银龄新生活