# NB-IoT / LTE-M / Cat-M1 CoAP LwM2M 蜂窝物联网分包分析器

逐字节解析蜂窝 IoT 设备的十六进制抓包:CoAP 头与选项(块传输/Observe)、LwM2M TLV 对象树(带标准资源名)、SMS-DELIVER UDH 应用端口寻址(自动解开 CoAP-over-SMS)、注册 link-format 与 DTLS 记录层说明。

> 标准页面: https://elysiatools.com/zh/tools/nb-iot-lte-m-cat-m1-coap-lwm2m-cellular-iot-packet-analyzer

- **分类:** Network

- **关键词:** coap解码, lwm2m tlv, nb-iot抓包, lte-m调试, coap over sms, udh端口, dtls记录, lwm2m注册, 物联网分包分析

## 概述

每行一个十六进制串(空格/冒号忽略;可用 "label=…" 命名;"#" 开头为注释)。自动检测顺序:DTLS → CoAP → SMS-UDH → LwM2M TLV → link-format。

解码严格按规范:CoAP 按 RFC 7252(Ver/T/TKL/Code/MID/Token,选项 delta/length 半字节及 13/14 扩展);块选项按 RFC 7959(NUM = val>>4、M = val&8、size = 2^(SZX+4));Observe 按 RFC 7641(0 注册/1 注销);LwM2M TLV 按 OMA §7.4.4(类型字节 bit7-6 = 对象实例/资源实例/多值资源/资源,bit5 = 标识符宽度,bit4-3 = 长度编码,bit2-0 = 内联长度)并标注 Device/Server/Firmware/Location 资源名;SMS-DELIVER 按 3GPP TS 23.040(半字节时间戳、UDH IEI 0x05 十六位应用端口,5683/5684 = CoAP/coaps);DTLS 记录头按 RFC 9147 并附会话恢复说明。内容格式按 IANA 注册表(11542 = lwm2m+tlv;旧 1.0 栈发 110/111/112 的遗留用法已注明)。

## 输入项

- **十六进制分包(每行一个)** (textarea): 4202716daabbb272641200283c65703d6e622d696f742d3031066c743d333030ff3c2f332f303e # optional: label=registration …
- **解码模式** (select)
- **显示原始字节图** (checkbox)

## 适用场景

- 在串口日志或网络抓包中获取到 NB-IoT / LTE-M 模组收发的 Hex 原始报文，需要快速核对 CoAP 消息类型、Token 及 Option 选项时。
- 调试 LwM2M 协议交互时，需要递归解析 TLV 编码中的对象实例、多值资源与资源 ID（如设备电量、固件版本、信号强度等）。
- 排查基于 NAS 短信通道的 CoAP-over-SMS 唤醒下发，或分析 DTLS 握手与加密记录层报文结构时。

## 工作原理

- 接收单行或多行十六进制字符串（自动剔除空格、冒号，支持 label 标签与 # 注释行）。
- 按预设或自适应检测链路（DTLS → CoAP → SMS-UDH → LwM2M TLV → Link-Format）进行二进制协议识别与状态机匹配。
- 依据 RFC 7252、RFC 7959、OMA LwM2M §7.4.4 及 3GPP TS 23.040 规范，逐字段拆解头部标志位、选项 Delta 扩展、TLV 标识符及内联数据。
- 生成结构化 HTML 报文卡片，展示包含标准资源名映射的 TLV 树形图、Link-Format 资源表及可选的原始字节高亮映射图。

## 使用案例

- 蜂窝模组（NB-IoT/Cat-M1）AT 命令通信日志中的十六进制数据还原与协议验证。
- LwM2M 云平台与终端对接过程中的注册请求（/rd）、数据上报（TLV）与属性订阅抓包分析。
- 低功耗设备 SMS 唤醒下发（CoAP over SMS）与 DTLS 会话维持异常排查。

## 常见问题

### 输入十六进制数据时支持哪些格式分隔符？

工具支持纯 Hex 串、空格分隔（如 42 02 71）以及冒号分隔（如 42:02:71），并支持在行首使用 label=xxx 为报文命名或使用 # 添加注释。

### 自动检测模式（Auto）的识别优先级是怎样的？

自动模式按照 DTLS 记录层 → CoAP 报文 → 3GPP SMS-UDH → LwM2M TLV 载荷 → Link-Format 文本的顺序逐级尝试匹配与校验。

### 工具如何处理 LwM2M 的 TLV 数据格式？

严格按照 OMA-TS-LightweightM2M 规范解析类型字节（对象实例、多值资源、资源实例与单值资源），并自动关联标准 Device、Server 等常用对象的资源名称与数据类型。

### 能否直接解析短信通道传输的 CoAP 消息（CoAP-over-SMS）？

可以。当检测到 SMS-DELIVER PDU 且 UDH 包含 16 位应用端口（如 5683/5684）时，工具会自动剥离短信头并递归解析内层的 CoAP 请求或响应。

### DTLS 记录层数据可以被解密还原吗？

工具仅解析 DTLS 记录层头部（内容类型、协议版本、Epoch 与序列号）及记录层状态，不提供无私钥/会话密钥情况下的 Application Data 密文解密。

## 相关工具

- [JavaScript反混淆器](https://elysiatools.com/zh/tools/javascript-deobfuscator): 反混淆和分析混淆的JavaScript代码，提高可读性和理解性
- [ASCII85转换器](https://elysiatools.com/zh/tools/ascii85-converter): 将文本编码/解码为ASCII85格式（Adobe版本）
- [Avro转换器](https://elysiatools.com/zh/tools/avro-converter): 将数据编码/解码为Avro数据序列化格式，支持schema
- [Base32转换器](https://elysiatools.com/zh/tools/base32-converter): 将文本编码/解码为Base32格式，支持多种变体
- [Base45转换器](https://elysiatools.com/zh/tools/base45-converter): 将文本编码/解码为Base45格式（RFC 9285）
- [Base58转换器](https://elysiatools.com/zh/tools/base58-converter): 将文本编码/解码为Base58格式，支持比特币和瑞波币变体
- [Base62转换器](https://elysiatools.com/zh/tools/base62-converter): 将文本编码/解码为Base62格式（0-9, A-Z, a-z）
- [Base64转换器](https://elysiatools.com/zh/tools/base64-converter): 将数据编码/解码为Base64格式，支持URL安全选项

## 示例

- [Web Python 图像处理示例](https://elysiatools.com/zh/samples/web-image-processing-python): Web Python 图像处理示例，使用 PIL/Pillow 包括读取、保存、缩放和格式转换
- [Android Java 图像处理示例](https://elysiatools.com/zh/samples/android-image-processing-java): Android Java 图像处理示例，包括图像读取保存、缩放和格式转换
- [Android Kotlin 图像处理示例](https://elysiatools.com/zh/samples/android-image-processing-kotlin): Android Kotlin 图像处理示例，包括图像读取保存、缩放和格式转换
- [Web Rust 图像处理示例](https://elysiatools.com/zh/samples/web-image-processing-rust): Web Rust 图像处理示例，包括图像读取保存、缩放和格式转换
