Bootstrap

【手把手教】使用wireshark抓取omci报文

引言

OMCI协议是GPON标准中G.984.4标准号明确定义的管理接口,它规定了OLT和ONT之间各种消息的编码格式和消息交互过程。在PON产品的研发测试过程中,经常需要抓取omci报文进行分析。然而专业的网络分析仪过于昂贵,工作中通常采取将omci报文镜像到产品LAN口然后通过wireshark抓包。为此,需要先安装wireshark的omci解析插件,然后在产品中下镜像指令进行抓包。

wireshark安装omci解析插件

wireshark版本分类

omci解析插件包含BinDecHex.lua和omci.lua两个文件,都是使用lua语言编写的,而wireshark支持lua版本持续更新,不同版本的wireshark的lua版本不一样,需要不同的OMCI解析插件也不一样。

根据支持的lua版本,wireshark大致可以分成三类:

1、老版本wireshark,特征是在安装目录下有一个init.lua 文件;

2、新版本wireshark(适用4.2.8及之前的版本),特征是在安装目录下没有init.lua 文件;

3、最新版本wireshark,lua版本再次更新,暂时未找到合适的插件;

前两类的omci解析插件已经上传,大家可以下载使用:

https://download.csdn.net/download/lai_2020/90223700

第三类wireshark暂未找到插件,建议大家可以先安装附件的4.2.8版本wireshark,该版本可以满足大部分需要。

后续找到最新插件后再分享给大家,欢迎关注留意。

安装OMCI解析插件的步骤

1、打开wireshark安装目录

右键wireshark图标,选择“打开文件所在的位置”;

如果菜单没有此选项,则选择“属性”,再选择“打开文件所在的位置”

2、拷贝omci插件文件

老版本wireshark

1)将对应的BinDecHex.lua和omci.lua文件拷贝到安装目录下

2)修改WireShark 安装目录下的 init.lua 文件,在最后一行添加如下内容

dofile(DATA_DIR.."omci.lua")

新版本wireshark(适用4.2.8及之前的版本)

1)将对应的BinDecHex.lua和omci.lua文件拷贝到安装目录的pluggins'文件夹下

3、重启wireshark

4、打开验证文件

双击打开omci-example.pcap,确认可以正常解析omci报文

检查点1:protocol列正确显示为omci,表明wireshark可以按omci过滤报文

检查点2:点开omci报文,每个字段可以正确解析

ONT镜像抓包

下镜像指令

产品的芯片方案不通,镜像抓包的指令也不一样,在此接触过的博通(BCM)芯片方案和联发科芯片(MTK的airoha)方案的指令

博通芯片方案

gponctl configOmciMirror --enable 1 --portindex 0

命令说明:gponctl configOmciMirror [--enable --portindex ]

注意:每个产品的接口编号不一致,有的第一个LAN口是eth0,有的是eth1;镜像指令重启后失效;

联发科芯片方案

system wan2lan on 15

命令说明:on指启用镜像,off表示禁用镜像,15表示镜像到所有LAN口

抓OMCI报文

根据需求抓取OMCI报文

如抓取ONT上线报文,建议先重启ONT,然后下指令镜像,再打开wireshark,最后插上光纤进行抓包

注:后续会分享ONT上线过程的OMCI报文,解读ONT上线流程,有兴趣的朋友可以关注留意。

抓取OLT升级OLT版本的OMCI报文,报文解析可以参考之前发布的文章:[OMCI实践]7360 OLT局端升级ONT的OMCI交互过程-CSDN博客

;