news 2026/11/6 1:22:49

十分钟读懂智能电表 DLMS/COSEM 通信:Wireshark 抓包与排障实操

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
十分钟读懂智能电表 DLMS/COSEM 通信:Wireshark 抓包与排障实操

十分钟读懂智能电表 DLMS/COSEM 通信:Wireshark 抓包与排障实操

【免费下载链接】wiresharkRead-only mirror of Wireshark's Git repository at https://gitlab.com/wireshark/wireshark. You're welcome to submit pull requests there.项目地址: https://gitcode.com/gh_mirrors/wi/wireshark

一个台区集中器回传曲线,某块电表整点数据缺失,而链路监测却显示"在线"。与其换设备碰运气,不如先接入 Wireshark 做一轮智能电表协议分析:把集中器上行口旁路抓下来,逐条核对 DLMS/COSEM 报文交互,往往比猜测快得多。下面按协议分工、抓包配置、读包路径、排障思路四步走。

📡 协议栈速览:DLMS 与 COSEM 各管什么

先弄清分工,再看包:

  • COSEM(用电设备对象模型):定义电表内部的数据对象,寄存器(Register)、标度值、冻结值等都以"对象地址 + 属性索引"的方式寻址,例如0-0:40.00.41.00.02指向某个电能寄存器。
  • DLMS(设备语言消息规范):负责连接与事务,关联请求(AARQ/AARE)、鉴权方式、Get/NEXT 读操作都走这一层。
  • 两者通常承载在 TCP 或 UDP 上,常见服务端口为4059。

Wireshark 自带对应解析器,协议主逻辑在 packet-cosem.c,COSEM 的 ASN.1 数据定义在 cosem.asn。想弄清某个字段为什么被解析成那样,翻这两个文件比查手册直接。

🎯 4059 端口捕获配置要点

在捕获选项中选择对应网卡,捕获过滤器输入tcp port 4059;如果链路走 UDP,改用udp port 4059。几个经验提醒,不算手册步骤:

  • 环形缓冲建议开。现场丢包有时就丢一两帧,环形缓冲能保住最近一段流量,让你有机会复现异常时刻。
  • 文件大小上限 + 按大小分割。连续采集可能跑几天,单个巨型文件对打开、传输、归档都是灾难。
  • 注意 Promiscuous 模式和链路层头选项,别因为一个旁路口把同段其他业务也拖下水。

🔍 读包:从 AARQ 握手到 Get/NEXT 对象

以一次正常会话为例。开头是电表侧发来的 AARQ(关联请求)与服务端回应的 AARE,里面敲定 HN 协议版本、鉴权方式与安全设置,这一轮走通关联才成立。随后服务端连续发 Get-Request 和 NEXT,逐对象遍历;每个对象在详情区会展开成对象地址加属性索引,你可以直接对照表计点定义核对读的是哪路电能。

出问题的时候,先看 Expert Information 面板:TCP RST、疑似虚假重传、"Previous segment not captured" 都会按 Error/Warning 分级并汇总计数,帮你先判断问题出在传输层还是应用层。

想把原始字节串起来看,右键 Follow TCP Stream 即可把双向载荷拼成连续流;4059 的流量大部分是二进制混合内容,建议切 Hex 或 Raw 视图再对照协议字段。

🧭 排障思路与延伸方向

如果你遇到连接频繁被重置,先看 RST 来自电表侧还是服务端,再核对 AARQ 里的鉴权方式和关联参数,最后查中间设备的超时策略。

如果大量出现 Previous segment not captured,先怀疑抓包起步太晚或中途丢包,用环形缓冲重新抓一轮再对比。

如果关联直接失败——AARQ 之后没有 AARE,或 AARE 带原因码,先对照 HN 版本与鉴权方式,再查服务端设备白名单。

顺带一提,IEC 62056-21 定义的 SML(智能计量语言)是面向集中器—主站链路的文本采集协议,排查上行侧时可以参考 packet-sml.c 补充分析。

把 4059 链路摸熟之后,还可以继续往两头延伸:通信中断多的场景看 GPRS 空口段,户内电力线载波看 HPLC 载波段,加密后的负载则要看 SM 安全会话的配置。

【免费下载链接】wiresharkRead-only mirror of Wireshark's Git repository at https://gitlab.com/wireshark/wireshark. You're welcome to submit pull requests there.项目地址: https://gitcode.com/gh_mirrors/wi/wireshark

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

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

Pillow识别极验消消乐验证码

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/11/6 1:17:06

07:输出浮点数

/*** 题目名称&#xff1a;输出浮点数 <p>* 题目来源&#xff1a;http://noi.openjudge.cn/ch0101/07/ <p>* 程序功能&#xff1a;按题目要求以不同的格式化输出一个双精度浮点数** author 潘磊&#xff0c;just_panleijust.edu.cn* version 1.0*/// 本题Java无法A…

作者头像 李华
网站建设 2026/11/6 1:16:28

JS逆向-某乎x-zse-96参数(2025-4-3)

前言 该文章为学习使用&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01;如有侵权&#xff0c;请私信联系作者删除~ 很久没写博客了&#xff0c;今天玩一下某乎的x-zse-96参数&#xff0c;不知道跟去年的有没有变化 正文 …

作者头像 李华
网站建设 2026/11/6 1:15:58

碧蓝航线自动脚本Alas使用指南:委托科研大世界全自动挂机教程

碧蓝航线自动脚本Alas使用指南&#xff1a;委托科研大世界全自动挂机教程 【免费下载链接】AzurLaneAutoScript Azur Lane bot (CN/EN/JP/TW) 碧蓝航线脚本 | 无缝委托科研&#xff0c;全自动大世界 项目地址: https://gitcode.com/gh_mirrors/az/AzurLaneAutoScript Az…

作者头像 李华
网站建设 2026/11/6 1:13:44

TranslucentTB:免费的任务栏透明与模糊,内存只占几 MB

TranslucentTB&#xff1a;免费的任务栏透明与模糊&#xff0c;内存只占几 MB 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 你精心选的…

作者头像 李华