🌀 鱼油のB10g

✦ 不定期更新技术随想

✦ 分享奇妙发现

📌 近期动态:

探索AI和工具使用...

第3章 第12.1天

同学们!今天咱们来聊聊支撑整个宿舍网络、教学楼WiFi的底层基石——以太网(Ethernet)协议。别看它低调,你每次开黑、刷剧、抢课的数据,都得靠它在你电脑和路由器之间“跑腿”。我会用最接地气的例子和Wireshark实战抓包,带你透视网线/WiFi里流动的“数据快递单”长啥样,以及为啥它是局域网绝对的王者!( •̀ ω •́ )✧


标题:宿舍网络基石大揭秘:Wireshark抓包拆解以太网协议帧与实战排错指南


一、以太网协议原理:局域网“普通话”的诞生与统治

1. 以太网:从实验室到全球霸主

*起源: 70年代初由 Xerox(施乐) 帕洛阿尔托研究中心发明,后来联合 DEC(数字设备公司)Intel(英特尔) 组成 DIX联盟 推广。它解决了早期局域网 “怎么让多台设备共享一条线缆还不打架?” 的核心难题。
*标准化: IEEE 802.3委员会 接手并制定了官方标准。我们现在说的“以太网”,通常指符合 IEEE 802.3 标准的网络。
*核心思想: CSMA/CD (载波侦听多路访问/冲突检测) - 通俗讲就是“先听后发,边发边听,冲突退避”。
*宿舍比喻: 想象宿舍几个人共用一条电话线打电话 (共享信道)。
*“先听” (Carrier Sense): 拿起电话先听听有没有人在用 (侦听信道是否空闲)。
*“后发” (Multiple Access): 如果没人用,我就开始说 (发送数据)。
*“边发边听” (Collision Detection): 说着说着,如果突然听到别人也在说 (冲突了!),我俩都立刻闭嘴 (停止发送)。
*“退避” (Backoff): 各自随机等一段时间 (退避算法),然后再重复“先听后发”过程。
*现实场景: 老式的 集线器(Hub) 连接的以太网就是这种工作方式,效率较低。现代 交换机(Switch) 普及后,冲突大大减少。

2. 以太网的“手下败将” (竞争技术)

以太网并非一帆风顺,也曾面临强劲对手,但都已被淘汰:
令牌环网 (Token Ring, IEEE 802.5): 设备像一个“传令牌”的圈子,只有拿到“令牌”的设备才能发送数据。缺点:* 结构复杂、成本高、扩展性差。想象宿舍传一个“发言令牌”,效率远不如直接喊话 (CSMA/CD 在低负载时更灵活)。
令牌总线网 (Token Bus, IEEE 802.4): 类似令牌环,但物理上是总线拓扑。同样因为复杂和性能问题被淘汰。
FDDI网 (光纤分布式数据接口): 使用光纤的双环拓扑,提供100Mbps高速率 (在当时)。
缺点:** 极其昂贵,主要用于骨干网,无法进入普通桌面。想象宿舍拉一根专用光纤?成本劝退!

以太网胜出关键: 简单、灵活、成本低、持续进化 (10M -> 100M -> 1G -> 10G -> ...)。

3. 核心机密:以太网帧结构 - 数据的“快递单”

数据要在以太网上跑,必须被封装成标准的“帧”(Frame)。这就是Wireshark能抓到的核心内容!一个标准以太网帧 II (最常用) 长这样:

// 以太网帧结构 (Ethernet II / DIX Frame) - 关键字段解析
// ------------------------------------------------------------
// | 字段| 长度 (字节) | 说明|
// |---------------------|-------------|-----------------------|
// | 前导码 (Preamble)| 7| 同步时钟 (10101010...) |
// | 帧起始定界符 (SFD)| 1| 标识帧开始 (10101011)|
// | 目标MAC地址 (DMAC)| 6| **数据要发给谁**|
// | 源MAC地址 (SMAC)| 6| **数据是谁发的**|
// | 类型 (Type)| 2| **上层是什么协议**|
// | 数据 (Data)| 46-1500| **承载的上层数据包**|
// | 帧校验序列 (FCS)| 4| **CRC错误校验**|
// ------------------------------------------------------------
// 注意:Wireshark捕获时通常不显示前导码和SFD,从DMAC开始。

关键字段详解 & 大学生活映射:
目标MAC地址 (DMAC) 和 源MAC地址 (SMAC):
*每块网卡的 唯一物理身份证号,全球唯一 (理论上)。格式:XX:XX:XX:XX:XX:XX (6字节,16进制)。
前3字节:OUI (组织唯一标识符),代表网卡
制造商
。例如:
*00:0C:29 - VMware虚拟机常用
*3C:58:C2 - 华为
*A4:4C:C8 - 戴尔
*查OUI网站:https://standards-oui.ieee.org/
后3字节: 厂商分配给设备的
序列号
特殊地址:
广播地址:FF:FF:FF:FF:FF:FF - 发给局域网
所有
设备。ARP请求:“谁是192.168.1.1?” 就用这个地址喊话。(´-ω-) 整个宿舍都能听见! ***组播地址:** 以 01:00:5E 开头 - 发给**特定一组**设备。比如某些直播协议。 ***类型字段 (Type):** ***2字节的关键标识!** 告诉接收方网卡,帧里装的**数据部分**该交给哪个**上层协议**处理。 ***常见值:** *0x0800 - **IPv4** (你的上网流量基本都是它) *0x0806 - **ARP** (地址解析协议,IP找MAC) *0x86DD - **IPv6** *0x8100` - 802.1Q (VLAN标签) - 企业网划分虚拟局域网用
数据字段 (Data):
*真正要传输的“货物”。长度在 46~1500字节 之间。
为什么最小46字节? 以太网要求帧 (不含前导码/SFD) 至少 64字节 (14头 + 46数据 + 4FCS)。不够的会用 Padding (填充字节) 凑够。防止冲突检测时,过短的帧还没传完就离开发送端,导致发送端误以为没冲突。
最大1500字节: 这就是著名的 MTU (最大传输单元)。超过这个大小的IP包需要被
分片 (Fragmentation)

帧校验序列 (FCS):
4字节的CRC校验码。 接收方网卡用同样的算法计算收到的帧 (从DMAC到Data结束),结果和FCS比对。
不一致就丢弃!
* 保证数据传输的完整性。想象快递单上的“防伪码”,被篡改或损坏就能发现。( •̀ω•́ )σ 数据安全卫士!


二、以太网协议实战:Wireshark抓包,亲手拆解“快递单”

理论懂了?现在动手!我们模拟一次最常见的网络操作:Ping网关,并用Wireshark抓取和分析背后的以太网帧。

实战步骤:Ping网关抓包分析

1.准备工作:找出你的“网关”地址 (宿舍路由器地址)
*Windows:

ipconfig /all
# 在输出中找到你正在使用的网络适配器 (如 "无线局域网适配器 WLAN")
# 找到 "默认网关 . . . . . . . . . . . . : 192.168.x.x" (这就是你的网关IP)
# 同时记下该适配器的 "物理地址" (就是你的MAC地址)

*Linux/Mac:

ip route show default
# 输出示例:default via 192.168.x.x dev eth0 ...
# "via" 后面就是网关IP
ip link show eth0 # 或你用的网卡名,找 'link/ether' 后是你的MAC

2.启动Wireshark,选择正确的网卡
*打开Wireshark。
*在接口列表中选择 你正在用来上网的网卡 (和 ipconfigip link 里看到的名字对应)。
*关键技巧 (可选): 在捕获前设置一个简单的 抓包过滤器,只抓和网关相关的ARP和ICMP包:

host <你的网关IP> # 例如 host 192.168.1.1

*双击 网卡开始捕获!

3.执行Ping操作,产生流量
*打开命令提示符(CMD)终端(Terminal)
*输入:

ping <你的网关IP> # 例如 ping 192.168.1.1

*看到类似 来自 192.168.1.1 的回复... 的响应后,按 Ctrl+C 停止ping。
*回到Wireshark,点击 红色停止按钮 结束抓包。

4.在Wireshark中过滤和分析以太网帧
*过滤: 在Wireshark顶部的 显示过滤栏 输入:

arp || icmp # 只显示ARP和ICMP协议包 (ping用的是ICMP)

分析关键帧:
ARP请求帧 (你电脑发出去的广播):
1.在列表中找到 Protocol 列为 ARPInfo 类似 Who has 192.168.1.1? Tell 192.168.1.100 的包。
选中它
2.看 数据包详情区 (中间面板):
*展开 Ethernet II:
*Destination: Broadcast (ff:ff:ff:ff:ff:ff) -> 目标MAC是广播地址! (整个局域网都能收到)
*Source: <你的电脑MAC> -> 源MAC是你电脑的MAC
*Type: ARP (0x0806) -> 上层是ARP协议
*展开 Address Resolution Protocol (request):
*Target IP address: 192.168.1.1 -> 询问谁的MAC?
*Sender MAC address: <你的电脑MAC> -> 我是谁
*Sender IP address: <你的电脑IP> -> 我的IP
ARP响应帧 (网关路由器回复):
1.找到紧接着的 ARP 包,Info 类似 192.168.1.1 is at <网关MAC>
选中它

2.看 Ethernet II:
*Destination: <你的电脑MAC> -> 目标MAC是你电脑的MAC (单播了!)
*Source: <网关路由器MAC> -> 源MAC是网关MAC
*Type: ARP (0x0806)
ICMP Echo Request (Ping请求):
1.找到 ProtocolICMPInfoEcho (ping) request 的包。
选中它
2.看 Ethernet II:
*Destination: <网关路由器MAC> -> 目标MAC是网关MAC (已知了,不用广播)
*Source: <你的电脑MAC>
*Type: IP (0x0800) -> 上层是IPv4协议! 里面装着ICMP请求
ICMP Echo Reply (Ping回复):
1.找到紧接着的 ICMP 包,InfoEcho (ping) reply
选中它
*。
2.看 Ethernet II:
*Destination: <你的电脑MAC>
*Source: <网关路由器MAC>
*Type: IP (0x0800)

5. 宿舍断网排错实战:以太网帧分析显身手

场景: 电脑显示“已连接”,但无法上网,也ping不通网关。(╯°□°)╯︵ ┻━┻
Wireshark 排查思路:
1.
抓包!** 按上面步骤抓包,ping网关。
2.看 ARP:
*有没有你的ARP请求 (目标MAC=广播)? 如果没有 → 可能网卡驱动/配置问题。
*有没有网关的ARP响应?
*有响应: 说明物理链路和ARP本身基本正常。问题可能在上层 (IP配置、防火墙、网关故障等)。
*无响应: 重点怀疑对象!
检查ARP请求的 Target IP 是否正确? (是不是你真正的网关IP?)
检查源MAC (Sender MAC) 是不是你电脑的? 不是 → 可能IP冲突或被恶意软件篡改。
物理层问题? 网线坏了?接口松了?交换机端口坏了? (看看能不能抓到其他正常包,比如广播包?如果能抓到广播包,说明物理层可能OK)
网关/交换机问题? 网关宕机?交换机上做了端口安全隔离了你的MAC?(看看其他设备能否ping通网关)
3.
看 ICMP (如果能发出ARP请求并收到响应):

*有没有你的ICMP Echo Request发出? (目标MAC是网关MAC)
*没有 → 可能本地防火墙阻止了ICMP出站,或者路由表错误 (根本没发给网关)。
*有没有网关的ICMP Echo Reply回来?
*有 → 网络层连通性正常!问题在应用层 (DNS? 浏览器? 目标服务器?)。
*没有 → 网关可能设置了防火墙禁止ICMP入站/出站,或者网关到外网的路由有问题。


三、课程总结:以太网 - 看不见的基石

1.原理核心:
历史: DIX -> IEEE 802.3 标准,干掉了令牌环等对手,靠的是 简单、便宜、能进化
帧结构: 前导/SFD + 目标MAC + 源MAC + 类型 + 数据(46-1500B) + FCS。牢记 MAC地址、Type字段、FCS校验 的作用!(◕‿◕)
MAC地址: 设备的物理身份证 (OUI+序列号),
广播(FF:FF:FF:FF:FF:FF)和单播
* 是排错关键。
*CSMA/CD: 理解共享信道如何工作 (虽然现代交换机让它很少发生冲突)。

2.实战精髓:
Wireshark 是透视眼: 通过抓包 (ping网关 是最佳起点),直观看到以太网帧的各个字段,理解ARP、IP是如何被承载的。
排错三板斧:
1.
物理连接通不通?** (网卡灯亮吗?能抓到广播包吗?)
2.ARP通不通? (能知道网关MAC吗?)
3.ICMP通不通? (能ping通网关吗?)
看目标MAC: 是广播 (可能ARP请求) 还是单播 (具体设备)?看Type字段:* 是ARP (0x0806) 还是IP (0x0800)?看FCS: 虽然Wireshark通常只显示正确的包,但知道它有校验作用。

最后唠叨一句: 下次宿舍网络抽风,别只会重启路由器和电脑了!打开Wireshark,按照这个思路抓包看看。当你亲手在ARP请求帧里看到自己的MAC和广播地址,在ICMP回复里看到网关的MAC时,你就真正看穿了宿舍网络的“血管”里流淌的是什么!(๑•̀ㅂ•́)و✧ 动手试试吧,成就感满满!遇到问题随时讨论~

posted on 2025-08-04 06:07  鱼油YOU  阅读(133)  评论(0)    收藏  举报