MQTT入门(3)- 分析报文Packet

本文介绍了MQTT协议的基本报文结构,包括固定报头、可变报头和有效载荷,并详细解析了控制头部和连接标志等关键字段。通过Wireshark抓包展示了常见的连接、发布、订阅和断开连接等报文实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

既然MQTT是一个通信协议,就有必要看看在通信时的packet报文信息,有助于对协议自身的理解。

MQTT是一个二进制协议,所以报文中的数据都是字节码而不是文字。

而且它采用 command 和 command acknowledgement 成对实现通信。

[b](1)报文分析[/b]

[b]标准的MQTT报文结构[/b]
主要分为三部分:固定报头(Fixed Header)、可变报头(Variable Header)、有效载荷(Payload)
其中固定报头为2个字节,一定会存在,其他部分可以没有。
[img]http://dl2.iteye.com/upload/attachment/0128/3749/b9b64eb7-5bf8-3d21-9c1a-e196be47e236.png[/img]

[b]最小报文[/b]
包含两个字段:控制头部、报头长度
[img]http://dl2.iteye.com/upload/attachment/0128/3751/985b2bbb-da01-3179-8eca-efe37e3f7f80.png[/img]

[b]控制头部[/b]
包含两个字段:消息类型、标志位
[img]http://dl2.iteye.com/upload/attachment/0128/3755/bb2dfe40-2dc0-3b81-bdcc-542208ec0ece.png[/img]

[b]可变报头[/b]
包含四个字段:协议名、协议级别、连接标志、保持连接
[img]http://dl2.iteye.com/upload/attachment/0128/3755/bb2dfe40-2dc0-3b81-bdcc-542208ec0ece.png[/img]

[b]连接标志[/b]
包含以下八个字段:
第0位:保留标志位
第1位:清理会话标志
第2位:遗嘱标志
第3,4位:QoS标志
第5位:遗嘱保留Retain标志
第6位:密码
第7位:用户名
[img]h
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值