深入链路层:报文 MAC 传输原理与 ARP 欺骗、中间人攻击全解析

张开发
2026/4/19 10:52:59 15 分钟阅读

分享文章

深入链路层:报文 MAC 传输原理与 ARP 欺骗、中间人攻击全解析
深入数据链路层——核心作用以及报文字段详解数据链路层在TCP/IP协议中扮演的角色在 TCP/IP 四层模型中数据链路层位于网络层之下、物理层之上是主机与局域网通信的核心桥梁它屏蔽了底层物理介质的差异为网络层提供点到点的可靠 / 无可靠传输服务。它的核心定位可以概括为三点帧封装与解封装把网络层传下来的 IP 数据包加上帧头、帧尾封装成数据帧交给物理层发送接收时则剥离帧头帧尾取出 IP 数据包上交网络层。相邻节点间的数据传输数据链路层只负责同一广播域内两个直连设备之间的数据传输不关心跨网段路由只关心 “下一跳是谁”。MAC 寻址与硬件标识使用MAC 地址标识网卡设备实现局域网内的精准寻址这也是它与网络层 IP 地址的最大区别。差错检测与流量控制通过校验和、CRC 等机制检测传输错误部分协议还支持重传、滑动窗口等机制保证传输可靠性如以太网只检错不纠错。简单总结网络层负责 “去哪”IP 寻址数据链路层负责 “怎么去下一站”MAC 寻址 帧传输。并且需要强调数据帧的传输必须倚靠MAC地址IP只是规划了整体路线真正的数据帧传输必须要MAC地址定位。数据链路层报文字段详解我们以目前局域网最通用的Ethernet II 以太网帧格式为例字段长度作用前导码 帧起始定界符8B用于同步时钟标识帧开始目的 MAC 地址6B接收方网卡的硬件地址源 MAC 地址6B发送方网卡的硬件地址类型 / 长度2B标识上层协议0x0800IPv40x0806ARP数据字段46~1500B承载上层 IP 包或 ARP 报文帧校验序列 FCS4BCRC 校验用于检测传输错误重点字段说明MAC 地址全球唯一硬件地址格式XX:XX:XX:XX:XX:XX标识物理设备。类型字段决定帧交给上层哪个协议处理是二层与三层解耦的关键。FCS接收方通过校验判断帧是否损坏损坏则直接丢弃。以太网帧特点无连接、不可靠传输只做差错检测不负责重传最大传输单元 MTU 通常为 1500 字节从应用层到硬件层——网络传输的完整流程当主机 A客户端想要与主机 B服务器通信时数据会自上而下穿过所有协议层再通过物理网络传输到目标主机最后自下而上递交到应用程序。整个过程可以分为封装发送、网络转发、解封装接收三个阶段。1. 应用层构建数据用户在浏览器、APP 等应用中发起请求应用层按照 HTTP、HTTPS、DNS 等协议构造应用数据。这一层只关心 “内容是什么”不关心如何传输。2. 传输层分段与端口标识应用数据交给传输层由 TCP 或 UDP 处理为数据加上源端口、目的端口标识进程TCP 会进行分段、序号、确认、握手等可靠传输控制传输层只关心 “端到端连接”不关心具体路径。3. 网络层封装 IP 包确定路由与下一跳传输层段交给网络层封装为IP 数据报加上源 IP、目的 IP主机 A 首先判断目的 IP 是否与自己在同一子网同一子网直接访问下一跳就是目标主机不同子网包括访问外网下一跳是默认网关。这一步就是IP 地址规划整体路线确定 “下一跳交给谁”。4. 数据链路层封装成帧依赖 MAC 地址传输无论下一跳是目标主机还是网关都必须封装成以太网帧才能真正发送加上源 MAC 地址本机网卡地址加上下一跳MAC地址留疑问如何知道5. 物理层发送比特流网卡将帧转为电信号 / 光信号通过网线、Wi-Fi 等物理介质发送比特流完成真正的硬件级传输。ARP协议——只有目标IP地址如何得知目标MAC地址在局域网通信中最终必须使用 MAC 地址才能发送数据帧。但应用层和网络层只知道目标 IP不知道对方 MAC这时就需要ARPAddress Resolution Protocol地址解析协议。ARP协议位于数据链路层但是ARP 并不严格属于纯数据链路层而是位于数据链路层之上、IP 网络层之下的 “夹层协议”。它使用以太网帧进行封装依赖 MAC 地址广播传输所以行为上非常像数据链路层但它的作用是为 IP 协议服务完成 IP 地址到 MAC 地址的映射又和网络层强相关。这里不属于同一层的概念也呼应数据链路层报头字段中的类型字段若为0x8806就上交给ARP处理。1. ARP 核心功能通过目标 IP 地址查询对应的 MAC 地址。2.ARP报文格式字段长度作用硬件类型2B标识硬件接口类型1 以太网协议类型2B标识上层协议0x0800IPv4硬件地址长度1BMAC 地址长度6B协议地址长度1BIP 地址长度4B操作类型2B1ARP 请求2ARP 应答发送方 MAC 地址6B发送方网卡地址发送方 IP 地址4B发送方 IP 地址目标方 MAC 地址6B请求时填 00:00:00:00:00:00应答时填目标 MAC目标方 IP 地址4B要解析的目标 IP 地址3. ARP 工作流程主机 A 想要与主机 B已知 IP通信但 A 的 ARP 缓存中无 B 的 MAC。主机 A 发送ARP 请求广播帧目的 MACFF:FF:FF:FF:FF:FF全网广播内容“谁是 IP 为 192.168.1.10 的主机请告诉我你的 MAC”局域网内所有主机都会收到该广播但只有主机 B 会响应。主机 B 回复ARP 单播应答告知自己的 MAC 地址主机 A 收到应答后将IP-MAC映射存入ARP 缓存后续直接使用。4. 关键特点ARP 是数据链路层协议只在同一局域网内有效有缓存机制减少重复广播跨网段通信时ARP 解析的是网关 MAC而非目标主机 MAC5.如何查看本地ARP映射表Windows 系统查看 ARP 缓存arp -a清理 ARP 缓存arp -d *Linux 系统查看 ARP 缓存arp -n或ip neigh清理 ARP 缓存ip neigh flush all子话题ARP欺骗与中间人攻击原理ARP欺骗ARP 协议设计简单高效但没有认证机制任何人都可以伪造 ARP 报文这就导致了安全漏洞。原理通过上文ARP的缓存机制攻击者发送伪造的 ARP 响应包强制更新网关或其他主机的 ARP 缓存让它们把错误的 MAC 地址与某个 IP 绑定。常见两种欺骗欺骗主机告诉受害主机 “网关的 MAC 是我”欺骗网关告诉网关 “受害主机的 MAC 是我”最终效果受害主机的流量本应发给网关结果全部发给了攻击者。典型现象断网、网速异常网页被篡改、弹窗广告账号密码被嗅探中间人攻击ARP 欺骗是中间人攻击的最常用入口。攻击流程攻击者通过 ARP 欺骗同时欺骗受害主机和网关受害主机 → 攻击者 → 网关网关 → 攻击者 → 受害主机攻击者在中间转发流量同时可以抓包窃取账号密码HTTP/FTP 等明文协议篡改网页内容劫持下载、植入恶意代码屏蔽、丢弃流量实现断网防御思路配置静态 ARP使用 ARP 防火墙开启端口安全局域网使用 802.1X 认证重要业务使用 HTTPS/TLS 加密避免明文传输

更多文章