尧图精选

组播MAC地址全解析:从Wireshark抓包到网络排查实战

🕒 发布时间:2026/9/13 20:05:16 📁 来源:尧图网络
前几天有个做网络运维的朋友发来一张抓包截图问我内网里一直出现目的 MAC 为 01:00:53:00:00:fb 的报文是不是有设备中招了。很多刚接触网络的人看到这种不熟悉的 MAC 地址都会紧张其实只要把地址结构拆开看大部分问题都能定位清楚。这篇文章就从这串地址出发把组播 MAC、mDNS、设备查询以及日常改 MAC 地址这些相关的东西一次讲明白。1. 从一串地址讲起01:00:53:00:00:fb 到底是什么1.1 先看格式MAC 地址应该怎么拆MAC 地址总共 48 位日常写作六组十六进制数组之间用冒号或者短横线分隔比如 01:00:53:00:00:fb。这六组对应六个字节前三个字节叫 OUI也就是“组织唯一标识符”通常用来标识网卡厂商后三个字节由厂商自行分配合起来保证全球唯一。但这句话有个前提它只适用于“单播” MAC 地址。遇到组播地址时前面三个字节的含义会发生变化不能完全按照查厂家的思路来。01:00:53:00:00:fb 这个地址前三个字节是 01:00:53后三个字节是 00:00:fb。你如果直接把这串地址丢进 OUI 查询网站结果大概率会查不到熟悉的厂家名字这是正常的因为它很可能不是一张普通的单播网卡地址而是一个组播地址。1.2 第一位是 01意味着这是个组播地址MAC 地址第一个字节的最低位有两个特殊标记最低位为 0表示单播地址也就是一台设备独有的地址。最低位为 1表示组播地址也叫多播地址发给这个地址的帧会同时被一组设备接收。第二位为 1表示本地管理地址说明这个 MAC 不是厂商烧录的全球唯一地址。第二位为 0表示全球管理地址。0x01 换算成二进制是 0000 0001所以最低位是 1第二位是 0。结论很清楚01:00:53:00:00:fb 是一个组播 MAC 地址而且理论上属于全球管理范围。它不是某个网卡的“身份证”而是给一组设备共享使用的接收地址。组播帧和广播帧容易混淆。广播是发给所有设备目标 MAC 是 FF:FF:FF:FF:FF:FF组播只发给“愿意加入这个组”的设备。交换机默认会把未知组播帧像广播一样在所有端口转发但如果开了 IGMP Snooping就会根据组播组成员关系做精确转发。1.3 常见组播 MAC 前缀对照表网络中常见的组播 MAC 前缀并不多记住下面这些基本就够用了组播 MAC 段主要用途01:00:5e:00:00:00 起IPv4 组播地址映射段比如 mDNS、OSPF、VRRP01:80:c2:00:00:00 起二层控制协议比如 STP、LACP、LLDP、802.1X33:33:00:00:00:00 起IPv6 邻居发现和组播映射01:00:0c:cc:cc:cc / cd思科私有协议CDP、VTP、PVST 等01:00:53:00:00:00 起不常见多用于私有或厂家自定义组播协议需要抓包确认01:00:53 这个段在公开的 IPv4 组播标准里并不常见所以不要急着下结论最好到现场抓包看上一层的协议。2. 它和 mDNS 的 01:00:5e:00:00:fb 有什么关系2.1 一眼看上去很像但差了一个字符搜索“01:00:53:00:00:fb”时经常会被另一条结果带到 01:00:5e:00:00:fb。这两个地址只差一个十六进制字符但含义差别很大。01:00:5e:00:00:fb 是 mDNSMulticast DNS在 IPv4 组播中使用的标准 MAC 地址苹果的 Bonjour、AirPlay以及很多打印机、智能音箱隔空发现设备时都会用到它。我的经验是很多人在截图或者笔记里会把 5e 看错写成 53所以讨论这个话题时必须先确认原报文里的真实地址是什么。2.2 如果是 01:00:5e:00:00:fb代表什么mDNS 对应的 IP 组播地址是 224.0.0.251端口是 5353。IP 组播地址映射到以太网 MAC 时规则是固定的高 24 位固定为 01:00:5e低 23 位直接取自 IP 地址低 23 位。224.0.0.251 这个 IP低八位是 251。把 251 换算成十六进制就是 FB所以低 23 位就是 00:00:FB最终 MAC 是 01:00:5e:00:00:fb。这也是为什么这串地址会频繁出现在局域网抓包里。如果你打开 Wireshark看到大量目标 MAC 是 01:00:5e:00:00:fb 的 UDP 报文目标端口是 5353不用慌这是设备在互相发现服务属于正常网络流量。2.3 那 01:00:53 这一段能查到厂家吗查厂家的核心是 OUI。IEEE 官方的 OUI 数据库中01:00:5e 被登记为“IETF IPv4 Multicast”这样的用途不会显示某个硬件厂商。01:00:53 同样不是常见的设备 OUI把它当厂家标识去理解容易跑偏。更合理的做法是看完整报文。如果报文里 IP 层目的地址是 224.0.0.251那么二层目的 MAC 就应该是 01:00:5e:00:00:fb如果抓包结果里二层 MAC 确实是 01:00:53:00:00:fb但 IP 层又是组播地址那说明这台设备可能没有按标准映射或者使用了私有协议。不要只凭一个 MAC 就判断是哪家设备必须结合协议栈、端口号、发送频率一起分析。3. 实战排查在抓包里怎么定位这串 MAC 的来历3.1 Wireshark 过滤与端点统计如果怀疑局域网里有人发奇怪的组播第一件事是用 Wireshark 过滤。在显示过滤器里输入eth.dst 01:00:53:00:00:fb如果想让源 MAC 或者目的 MAC 都匹配可以写eth.addr 01:00:53:00:00:fb过滤出来之后先看两个东西一是发送方的 MAC 地址二是上层协议。如果上层是 UDP 且目的端口是 5353大概率是 mDNS如果端口是 1900则是 SSDP如果是 37810 类似的高位端口就要结合厂商私有特征去判断。Wireshark 的“统计 - 端点”功能也很实用。切到 Ethernet 标签页按收包数排序一眼就能看出哪台设备发的组播帧最多。截图发给我朋友的那台设备发送来源其实是一台智能音箱它每分钟都会发若干次 SSDP 广播不是安全问题。3.2 tcpdump 命令行抓包没有图形界面的服务器上用 tcpdump 是最直接的办法。抓取目标 MAC 为 01:00:53:00:00:fb 的报文sudo tcpdump -i eth0 -e -nn ether dst 01:00:53:00:00:fb参数的意义-e表示在输出里显示二层 MAC 地址-nn表示不做 IP 和端口反向解析ether dst表示只看目的 MAC。想抓固定数量后自动停止sudo tcpdump -i eth0 -e -nn ether dst 01:00:53:00:00:fb -c 100抓完之后注意看源 MAC。如果源 MAC 也是 01:00:53 这种组播地址那可能根本不是正常网卡发出的帧而是某个交换机或协议生成了异常报文这种情况需要进一步检查交换机的组播配置。3.3 通过交换机 MAC 表找源头到了交换机层面可以查 MAC 地址表来确定哪些接口收到了这串地址。但要注意组播 MAC 在交换机上不一定像单播那样有一条精确表项尤其是在没开 IGMP Snooping 的网络里组播帧会被泛洪到所有接口。因此单纯查 01:00:53:00:00:fb 的转发表项未必能定位发送源。更稳的办法是从源 MAC 下手。先在上联口抓包拿到发送方的源 MAC再去交换机上查display mac-address如果嫌输出多可以结合源 MAC 关键字过滤比如display mac-address 0012-3456-7890这样能找到这个源 MAC 是从哪个接口学习到的再顺着接口往下找物理连线设备很快就能锁定。3.4 华三/Comware 查看接口 MAC 的命令有人问华三路由器怎么查看接口 MAC 地址这里顺便整理一下。华三的 Comware 系统里查看接口信息最常用的命令是display interface GigabitEthernet 1/0/1输出的开头部分就会包含当前接口的 MAC 地址、收发状态、链路协商情况。如果只想快速看所有接口的摘要可以执行display interface brief这组命令会在接口名那一行列出一堆信息部分版本里含 MAC 地址不完全时再用完整的 display interface 去确认。日常维护时我习惯把接口 MAC、管理 IP、所在交换机端口一起记进资产表排查问题会省很多力气。3.5 常见原因与应对建议我在实际项目里遇到过不少“莫名组播”的案例汇总下来最常见的三个原因智能家居设备周期性广播发现协议如 mDNS、SSDP交换机组播配置错误导致组播帧被过度泛洪某些软件或网卡驱动异常发出非标准组播 MAC。处理思路也简单先确认是不是规律性广播再看发送频率和协议类型最后在交换机上按源 MAC 定位设备。只要不影响业务带宽多数组播流量可以忽略如果频率非常高建议在交换机上做风暴控制或关闭不必要的组播侦测。4. 围绕 MAC 地址的高频问题与实操笔记4.1 怎么快速查一台电脑的 MACWindows 上最常用的是ipconfig /all在输出里找到“以太网适配器”或“无线局域网适配器 WLAN”就能看到物理地址。想要更干净的结果可以用getmac /v /fo listLinux 下我习惯用ip link show只看某个网卡时cat /sys/class/net/eth0/addressmacOS 上执行ifconfig en0其中ether后面的就是 MAC 地址。注意无线网卡和有线网卡的 MAC 通常不一样查的时候别搞混。4.2 MAC 地址查询设备型号/厂家的在线工具与本地库要查询设备厂家直接用 OUI 数据库。在线工具有很多比如 Wireshark 官网的 OUI Lookup、IEEE 官网的 OUI 查询页面还有一些第三方查询站。输入前三个字节比如01:00:53系统会返回对应的组织或协议用途。对于单播 MAC如果 OUI 显示为某个知名厂商再结合设备型号表就能大概率确定是什么硬件。本地离线查询时Wireshark 安装目录下有个 manuf 文件里面维护了一份 OUI 数据库。Linux 下可以直接用 grep 匹配grep -i 01:00:53 /usr/share/wireshark/manuf如果查不到说明这前三位不是常见厂商标识可能是组播和协议预留段这时候不要强查厂家老老实实抓包看协议层。4.3 Windows 11 修改 MAC 地址的正确姿势Win11 改 MAC 有三种常见方法。第一种是界面操作打开“设备管理器”找到网络适配器右键属性进入“高级”选项卡找到“Network Address”或“本地管理的地址”填一个 12 位十六进制数比如001122334455确定后重启网卡。要注意不写冒号、不写横线直接写连续 12 个字符。第二种是 Wi-Fi 自带的随机硬件地址功能。在“设置 - 网络和 Internet - WLAN”里打开“随机硬件地址”系统会按网络自动生成不同的 MAC这个功能适合提升隐私但有些校园网或公司网络会因此无法认证。第三种是注册表方式。位置在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}下面会有0000、0001这样的子键逐个找包含网卡描述的键在里面新建字符串值NetworkAddress填入 12 位十六进制数然后禁用以太网卡再启用。Linux 上修改更直接sudo ip link set dev eth0 down sudo ip link set dev eth0 address 00:11:22:33:44:55 sudo ip link set dev eth0 up改 MAC 前要清楚用途避免冒充别人的地址也不要试图绕过认证。现在很多设备固件里自带 MAC 校验和绑定单纯改 Windows 里的地址不一定有用。4.4 为什么有的芯片 MAC 老变杰理 701 一类的坑有朋友问我杰理 701 芯片的设备 MAC 地址为什么会自己变。这个问题在低成本蓝牙和 WiFi 方案里很常见。原因是这些芯片的 MAC 地址并没有像品牌网卡那样烧录进独立存储里而是存在 Flash 某个区域或者在上电时从算法临时生成。一旦 Flash 写入异常、校准数据丢失、驱动重新初始化芯片就会回退到随机 MAC。这类地址的第二个 bit 往往为 1也就是本地管理地址比如02:xx:xx开头一看就不是厂商 OUI。这类设备如果表现是“每次重连 MAC 都换”大概率不是硬件坏了而是固件里没有固化合法 MAC。解决办法是升级固件或者用厂商提供的烧录工具把 MAC 写进指定 Flash 区域。如果设备已经批量上线MAC 还会变那就要考虑是不是随机地址功能没关特别是在 Android 高版本里系统默认会为不同 Wi-Fi 网络使用随机 MAC外部感知就是“MAC 老变”。4.5 应用获取 MAC 地址常见方法桌面端应用获取 MAC 通常有三种方式调用系统命令、读系统 API、读内核接口。Windows 里 C 可以使用GetAdaptersInfoPowerShell 可以执行Get-NetAdapterLinux 下直接用 socket 读取AF_PACKET或者解析/sys/class/net/。Python 里最简单的方式是import uuid mac_hex uuid.getnode() mac_str :.join(f{(mac_hex shift) 0xff:02x} for shift in (40, 32, 24, 16, 8, 0)) print(mac_str)但要提醒一下uuid.getnode()如果拿不到真实 MAC可能返回随机数生产环境不能完全依赖它。更可靠的是用第三方库pip install getmacfrom getmac import get_mac_address print(get_mac_address(interfaceeth0))移动端现在越来越难拿 MAC。Android 10 之后普通应用无法直接读取 Wi-Fi MAC只能拿到02:00:00:00:00:00这样的占位值iOS 从 iOS 7 开始就不再向应用提供真实 WiFi MAC。这也是为什么现在很多 App 改用“设备唯一标识符 服务端下发 ID”做设备识别不再依赖 MAC 地址。5. 关于这串 MAC 地址我的最终排查建议如果你手头的抓包里确确实实出现了 01:00:53:00:00:fb我的建议是不要一上来就把它定性为故障。先在 Wireshark 里过滤出这个地址看三层 IP 是不是组播看 UDP/TCP 端口归属哪个应用再看发送频率和发送源。对于普通办公网络mDNS 和 SSDP 里偶尔出现非标准组播 MAC 并不罕见很多 Linux 服务、虚拟化平台、容器网络插件都会自定义组成员地址。真正需要警惕的是两种情况一是这串 MAC 每秒出现几百上千次导致交换机 CPU 飙升二是伴随着大量 ARP 请求或异常广播且发送源 MAC 一直在变。遇到前者优先做风暴控制遇到后者按源 MAC 抓设备、重装驱动、查固件就够了。我个人在做网络排查时始终会保留一份“可解释组播地址清单”把 mDNS、SSDP、LLMNR、VRRP、OSPF、组播路由协议这些地址和用途记录在一张表里。碰到不认识的先记录再抓包验证最后按协议特征归类。这套流程看起来很基础但确实能帮你省下大量“看起来很吓人其实是正常的”组播流量判断时间。
上一篇/下一篇内容由系统自动关联 返回资讯列表 →