# NB-IoT LTE-M Cat-M1 CoAP LwM2M Cellular IoT Packet Analyzer

Decode hex captures from cellular IoT devices: CoAP headers/options (block-wise, Observe), LwM2M TLV object trees with registry names, SMS-DELIVER UDH port addressing unwrapping CoAP-over-SMS, link-format registrations and DTLS record summaries.

> Canonical page: https://elysiatools.com/en/tools/nb-iot-lte-m-cat-m1-coap-lwm2m-cellular-iot-packet-analyzer

- **Category:** Network

- **Keywords:** coap decoder, lwm2m tlv, nb-iot packet, lte-m debug, coap over sms, udh port, dtls record, lwm2m registration, iot packet analyzer

## Overview

Paste one hex string per line (spaces/colons ignored; prefix "label=…" to name a packet; "#" lines are comments). Auto-detection walks DTLS → CoAP → SMS-UDH → LwM2M TLV → link-format.

Decoders follow the specs byte-for-byte: CoAP per RFC 7252 (Ver/T/TKL/Code/MID/Token, option delta+length nibbles with 13/14 extensions), block options per RFC 7959 (NUM = val>>4, M = val&8, size = 2^(SZX+4)), Observe per RFC 7641; LwM2M TLV per OMA §7.4.4 (type byte bits 7-6 = object instance / resource instance / multiple resource / resource, bit 5 = identifier width, bits 4-3 = length encoding, bits 2-0 = inline length) with Device/Server/Firmware/Location resource names; SMS-DELIVER per 3GPP TS 23.040 including semi-octet timestamps and UDH IEs (IEI 0x05 16-bit application ports 5683/5684 = CoAP/coaps); DTLS record headers per RFC 9147 with resumption notes. Content formats use the IANA registry (11542 = lwm2m+tlv; legacy 1.0 stacks emitted 110/111/112 — annotated).

## Inputs

- **Hex Packets (one per line)** (textarea): 4202716daabbb272641200283c65703d6e622d696f742d3031066c743d333030ff3c2f332f303e # optional: label=registration …
- **Decode Mode** (select)
- **Show raw byte map** (checkbox)

## When to use

- When debugging CoAP request options, Observe notifications, or Block1/Block2 transfers emitted over cellular modems.
- When inspecting LwM2M TLV payload trees and mapping raw resource identifiers to OMA standard names.
- When unwrapping encapsulated CoAP messages from 3GPP SMS-DELIVER User Data Headers (UDH) or verifying DTLS record structures.

## How it works

- Paste one or more raw hex strings into the input area, optionally assigning labels with a 'label=...' prefix or adding comment lines starting with '#'.
- Select a specific decode mode (such as CoAP, LwM2M TLV, SMS, DTLS, or Link-format) or keep the default Auto-detect mode to walk through protocol layers automatically.
- Toggle the raw byte map option if you need visual offset and length mappings alongside decoded fields.
- Review the rendered HTML report containing structured protocol fields, parsed option trees, standard resource names, and payload details.

## Use cases

- Validating NB-IoT device registration flows including CoRE link-format payloads and URI query parameters sent via CoAP POST /rd.
- Analyzing decrypted LwM2M Read response payloads to ensure sensor resources and data types conform to OMA TLV encoding rules.
- Troubleshooting non-IP cellular communications and wake-up triggers delivered via NAS SMS containing encapsulated CoAP commands.

## Frequently asked questions

### Which CoAP specifications and options are supported?

It decodes RFC 7252 message headers, tokens, and standard options (Uri-Path, Content-Format, etc.), RFC 7641 Observe options, and RFC 7959 Block1/Block2 options.

### How does the tool handle LwM2M TLV payloads?

It parses OMA §7.4.4 TLV structures, identifying Object Instances, Resources, and Multiple Resource Instances while resolving standard IDs for Device, Server, Firmware, and Location objects.

### Can it parse CoAP messages transported over SMS?

Yes. It parses 3GPP TS 23.040 SMS-DELIVER TP-UD payloads and uses UDH IEI 0x05 16-bit application port addressing (ports 5683/5684) to unwrap the inner CoAP packet.

### What hex formatting is accepted?

Raw hex strings are accepted one per line. Spaces, colons, and '0x' prefixes are ignored automatically during parsing.

### What does the Auto detect decode mode check?

Auto detect evaluates each packet sequentially against DTLS record structures, CoAP headers, SMS-UDH envelopes, LwM2M TLV layouts, and CoRE link-format strings.

## Related tools

- [JavaScript Deobfuscator](https://elysiatools.com/en/tools/javascript-deobfuscator): Deobfuscate and analyze obfuscated JavaScript code to improve readability and understanding
- [ASCII85 Converter](https://elysiatools.com/en/tools/ascii85-converter): Encode and decode text to/from ASCII85 format (Adobe version)
- [Avro Converter](https://elysiatools.com/en/tools/avro-converter): Encode and decode data to/from Avro data serialization format with schema support
- [Base32 Converter](https://elysiatools.com/en/tools/base32-converter): Encode and decode text to/from Base32 format with multiple variants
- [Base45 Converter](https://elysiatools.com/en/tools/base45-converter): Encode and decode text to/from Base45 format (RFC 9285)
- [Base58 Converter](https://elysiatools.com/en/tools/base58-converter): Encode and decode text to/from Base58 format with Bitcoin and Ripple variants
- [Base62 Converter](https://elysiatools.com/en/tools/base62-converter): Encode and decode text to/from Base62 format (0-9, A-Z, a-z)
- [Base64 Converter](https://elysiatools.com/en/tools/base64-converter): Encode and decode data to/from Base64 format with URL-safe options

## Samples

- [Web Image Processing Python Samples](https://elysiatools.com/en/samples/web-image-processing-python): Web Python image processing examples using PIL/Pillow including reading, saving, resizing, and format conversion
- [Android Image Processing Java Samples](https://elysiatools.com/en/samples/android-image-processing-java): Android Java image processing examples including reading/saving images, scaling, and format conversion
- [Android Image Processing Kotlin Samples](https://elysiatools.com/en/samples/android-image-processing-kotlin): Android Kotlin image processing examples including reading/saving images, scaling, and format conversion
- [Web Image Processing Rust Samples](https://elysiatools.com/en/samples/web-image-processing-rust): Web Rust image processing examples including image read/save, scaling, and format conversion
