news 2026/10/12 6:57:05

OMCI 抓包不用一帧帧翻:丢进 pcap,自动还原 ONU 业务流拓扑

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OMCI 抓包不用一帧帧翻:丢进 pcap,自动还原 ONU 业务流拓扑

做 PON 的应该都有体会——抓一包 OMCI 报文,几百帧,在 Wireshark 里一帧一帧翻,对照 G.988 查 ME class、查属性掩码,半天下来眼睛都花了。

我写了一个 OMCI 抓包分析工具,丢一个 pcap 进去,可以生成 HTML 报告。本文先介绍其中最有差异化的部分:业务流拓扑报告。

本质就是自动把分散在数百条 OMCI 控制报文中的 MIB 配置,拼装成可视化业务拓扑图。前提是抓包中包含足够的 Create/Set/Get 配置报文。


输入输出

输入:一个 pcap 文件(OMCI 抓包)

输出:一份自包含 HTML 报告,浏览器打开就能看,不依赖外部文件,发给别人也能直接打开。


报告里能看到什么

工具解析的是 OMCI控制面 MIB 配置报文(Create/Set/Get 等),不是用户面业务流量。通过解析这些配置报文,重建 ME 实例之间的引用关系,还原出 ONU 的业务流:

  • 这个 ONU 建了几条业务流
  • 每条流的完整转发链路:User-VLAN → MAC 桥 → 桥端口 → GEM Port → T-CONT
  • 上行和下行路径分别怎么走

相当于把 G.988 里那些 ME 之间的关系,用图的方式画出来了。不用自己在脑子里拼"这个桥端口到底挂的是 ANI 侧还是 UNI 侧"。


实战案例

业务流还原不是简单罗列 ME,而是根据 G.988 中 ME 实例之间的引用关系,把 UNI、VLAN、MAC Bridge、Bridge Port、GEM IWTP、GEM Port、T-CONT 串成转发路径。

前段时间帮人看一个 ONU 的 VLAN 不通的问题。抓了个 pcap 丢进去,上行路径直接展示:

用户设备 │ User-VLAN 100 ▼ 以太网 UNI(ME 11,实例 0x0001) │ ▼ MAC 桥(ME 45,实例 0x0000) │ VLAN filter / Ext VLAN 处理 ▼ 桥端口(ME 47,实例 0x0101,挂接 ANI 侧) │ ▼ GEM IWTP(ME 266,实例 0x0001)→ GEM CTP(ME 268,实例 0x1001) │ ▼ T-CONT(ME 262,实例 0x0001,Alloc-ID 0x0002) │ ▼ OLT(PON 上行)

如果抓包不完整,比如缺少某个关键 ME 的 Create/Set,报告不会硬猜,而是会把断点标出来,方便定位配置链哪里缺失。

根因:ONU 侧 T-CONT 绑定 Alloc-ID 为 0x0002,而 OLT 分配给该 ONU 的 Alloc-ID 是 0x0001,二者不一致,OLT 无法匹配上行带宽容器,业务不通。

这种问题手动翻 pcap 至少要半小时,工具 3 秒钟就定位到了。


支持范围

  • 59 个标准 ME class,覆盖 VLAN、桥接、语音、GEM、T-CONT 等常用业务实体
  • 私有 ME(class ≥ 0xFF00)标灰显示,厂商私有字段不做语义解析
  • 当前仅解析 OMCI 控制面配置报文,不解析用户面以太网流量
  • 仅支持经典 pcap 格式,pcapng 需要先用 Wireshark 转一下(后续版本会支持)

免费帮看包(近期开放)

最近开放一轮免费分析:你把 OMCI 相关抓包发我,我免费生成 HTML 报告发回(配置分析为主;需要时附报文分析)。

怎么参与

  1. CSDN私信发我文件(优先经典.pcap;若是.pcapng,请先用 Wireshark 另存为 pcap)
  2. 附一句你想查什么(例如:VLAN 不通、上线慢、业务流对不上)
  3. 建议先做简单脱敏:去掉公司名、公网 IP、账号/令牌等敏感信息

说明

  • 完全免费;名额有限,每周先到先得约 5 份,我会按顺序处理
  • 业务拓扑依赖抓包里是否有足够的 Create/Set/Get 等配置报文;残包会标断点,不会硬猜
  • 样本仅用于给你出报告,不外传、不公开
  • 工具版本 v0.1.9,持续迭代;自助下载包稍后放开,当前阶段优先把真实问题跑通

用完后麻烦回我一句感受(对不对得上现场、哪有用、还缺啥),这对后续改进很重要。

版本与后续

后续计划系列文章:

  1. OMCI MIB Upload 逐字节解析:搞懂 ONU 到底上报了什么
  2. 从 OMCI 抓包拆解 VLAN 业务全链路配置
  3. G.988 里容易混淆的 ME 实体关系辨析

感兴趣的可以先关注,后面发了会贴链接。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/12 6:56:16

大厂RAG检索链路揭秘:混合检索、Rerank与查询改写实战

1. 纯向量检索在真实业务里到底卡在哪很多人第一次搭 RAG,脑子里默认的链路就是:文档切块、embedding、塞进向量库、用户提问时算相似度、取 Top-K 丢给大模型。跑通 Demo 那一刻确实很爽,问什么都能扯出点相关内容。但只要文档量上到几万块、…

作者头像 李华
网站建设 2026/10/12 6:55:11

SIFT特征提取原理与工业级工程实践指南

1. 这不是“老古董”,是图像理解的底层锚点SIFT特征提取与检索,这八个字一出来,很多人第一反应是“教材里翻过、课设里跑过、面试时背过”的经典算法。但如果你真把它当成一个被深度学习淘汰的旧工具,那可能正在错过图像领域最扎实…

作者头像 李华
网站建设 2026/10/12 6:53:58

C++代码实现MATLAB中的fitcsvm函数功能

// // fitcsvm 的独立 C 实现&#xff08;SMO RBF 核&#xff0c;无第三方依赖&#xff09; // 编译: g -stdc17 svm_standalone.cpp -o svm_standalone // 运行: ./svm_standalone // #include <iostream> #include <vector> #include <cmath> #include …

作者头像 李华
网站建设 2026/10/12 6:53:27

YOLO26改进 - 注意力机制 | MLCA混合局部通道注意力:多维度特征融合破解信息局限,增强复杂场景感知能力

前言 本文介绍了轻量级的Mixed Local Channel Attention(MLCA)模块及其在YOLO26中的结合应用。MLCA模块同时考虑通道、空间、局部和全局信息,其输入特征先经局部池化,再通过两个分支分别处理全局与局部信息,最后经一维卷积、反池化融合信息。该模块能提取局部空间信息、捕…

作者头像 李华
网站建设 2026/10/12 6:52:56

Python内置函数详解:classmethod、getattr、hasattr、callable等动态属性操作

在Python里折腾类对象和属性&#xff0c;最绕不开的就是这几个内置函数&#xff1a;classmethod、delattr、dir、hasattr、getattr、callable。很多人一开始记不住它们的区别&#xff0c;总觉得这些是“边角料”&#xff0c;但真正写框架、做插件化设计、或者调试线上问题的时候…

作者头像 李华
网站建设 2026/10/12 6:51:58

CentOS 8 Redis安装配置与卸载清理实操指南

说实话&#xff0c;CentOS 8 上装 Redis 这事儿&#xff0c;看着简单&#xff0c;但这两年坑是真不少。系统源里自带的版本偏老、模块流切换搞不明白、装完忘记配密码被扫描器盯上&#xff0c;卸载的时候又因为残留文件导致重装后数据错乱——这些场面我见过太多次了。这篇文章…

作者头像 李华