4、以太网帧与ARP:从比特流到IP的桥梁

各位好,我是老赵。今天咱们聊一个抓包分析里绕不开的话题——以太网帧和ARP协议。

说实话,很多新手抓包时看到一堆MAC地址就头大。其实这东西没那么玄乎。你想想看,数据在网线上跑,靠的是MAC地址,不是IP地址。IP地址只是“门牌号”,真正把数据送到你手里的是“快递员”——MAC地址。

4.1 以太网帧结构:数据在网线上长什么样?

以太网帧,说白了就是数据在以太网上传输的“包装盒”。我刚开始学抓包时,看着Wireshark里那一串十六进制数,完全不知道在干嘛。后来拆开看,其实就几个部分。

字段 长度(字节) 说明
前导码 7 同步时钟,实际抓包看不到
帧起始定界符 1 标识帧开始
目的MAC地址 6 接收方MAC
源MAC地址 6 发送方MAC
类型/长度 2 0x0800=IPv4,0x0806=ARP
数据载荷 46~1500 上层协议数据(IP包等)
帧校验序列 4 CRC校验,检查数据是否损坏
个人习惯:我抓包时第一眼先看“类型”字段。0x0800是IP包,0x0806是ARP。这能帮你快速定位问题。有一次排查网络慢,发现大量0x0806,就知道有人在疯狂发ARP请求——后来查出来是某台设备的ARP表被刷爆了。

4.2 MAC地址解析:48位的“身份证”

MAC地址,每个网卡出厂时烧录的全球唯一标识。6个字节,48位,用十六进制表示,比如 00:1A:2B:3C:4D:5E。

前3个字节是OUI(组织唯一标识符),代表厂商。比如 00:1A:2B 是某厂商的。后3个字节是厂商分配的序列号。

关键点:MAC地址是二层地址,只在同一个广播域内有效。跨网段通信,必须通过网关的MAC地址转发。你抓包时看到的源/目的MAC,每经过一个路由器就会变一次。

我记得有一次帮朋友排查网络不通。他两台电脑直连,IP配好了就是ping不通。我一看,MAC地址居然配成了一样的——他手动改了网卡MAC。嗯,这坑踩得有点冤。

4.3 ARP协议原理:IP怎么找到MAC?

ARP(地址解析协议),就是干这个活的。当主机A想给主机B发IP包,但不知道B的MAC地址时,就会发一个ARP请求。

流程很简单:

  1. A广播一个ARP请求:“谁的IP是192.168.1.2?告诉我你的MAC。”
  2. 同一广播域内所有主机都收到这个请求。
  3. 只有IP为192.168.1.2的主机B响应:“我是,我的MAC是00:1A:2B:3C:4D:5E。”
  4. A收到响应,把IP-MAC映射写入ARP缓存表。

ARP报文结构:

硬件类型:0x0001(以太网)
协议类型:0x0800(IPv4)
硬件地址长度:6
协议地址长度:4
操作码:1(请求)/ 2(响应)
发送方MAC:00:1A:2B:3C:4D:5E
发送方IP:192.168.1.1
目标MAC:00:00:00_00:00:00(请求时为全0)
目标IP:192.168.1.2
注意:ARP请求是广播,但ARP响应是单播。我曾经见过有人把ARP响应也配成广播,结果整个网络被刷爆——每台主机都在处理跟自己无关的ARP响应。

4.4 ARP抓包分析:用Wireshark看个明白

打开Wireshark,抓个包。你输入 arp 过滤,就能看到ARP报文。

我一般这样分析:

  • 看操作码:1是请求,2是响应。
  • 看目标MAC:请求时是全0,响应时是具体MAC。
  • 看时间间隔:正常ARP请求间隔几秒到几分钟。如果每秒几十个,那就有问题。

举个例子,你ping一个不存在的IP,会看到连续发ARP请求,没人响应,最后超时。这就是“目标不可达”的底层原因。

避坑指南:我曾经在排查一个“间歇性断网”问题时,抓包发现ARP表每30秒就刷新一次。后来查出来是某台交换机开启了“ARP刷新”功能,频率太高导致CPU过载。关掉就好了。

4.5 ARP欺骗与防御:别让你的数据被“中间人”

ARP欺骗,说白了就是伪造ARP响应。攻击者冒充网关,告诉受害者“网关的MAC是我”。然后受害者的数据就全发给了攻击者。

攻击流程:

  1. 攻击者C发送伪造ARP响应给A:“网关192.168.1.1的MAC是C的MAC”。
  2. A更新ARP表,把网关MAC指向C。
  3. A发给网关的数据,全部经过C。
  4. C可以抓包、篡改、转发——这就是中间人攻击。

怎么防御?

  • 静态ARP表:在关键设备上手动绑定IP-MAC。比如网关、服务器。
  • DAI(动态ARP检测):交换机上开启,只允许合法的ARP报文通过。
  • ARP防火墙:终端上装软件,检测异常ARP报文。
我曾经:在某企业内网做渗透测试,用ARP欺骗成功抓到了管理员的Telnet密码。密码是明文——嗯,那之后他们全换SSH了。所以,ARP欺骗不是理论,是真实威胁。

4.6 知识体系总览

下面这张图,把本章的核心逻辑串起来了。从以太网帧到ARP,再到欺骗与防御,一条线。

以太网帧与ARP知识体系 以太网帧结构 MAC地址解析 ARP协议原理 Wireshark抓包分析 ARP欺骗与防御 静态ARP / DAI / ARP防火墙 核心逻辑 以太网帧承载数据 → MAC地址标识设备 → ARP解析IP到MAC → 抓包验证 → 防范ARP欺骗

好了,这一章就到这。以太网帧和ARP,是抓包分析的基础中的基础。你只要把帧结构记熟,把ARP流程搞懂,后面分析TCP/IP就轻松多了。