网络空间测绘——MQTT服务篇

一、  MQTT协议简介

MQTT协议是1999年IBM公司发布的一种基于发布/订阅(Publish/Subscribe)模式的轻量级通讯协议。MQTT协议的底层构建基于TCP/IP协议,它的特点是其规范简单,非常适用于低性能、低开销和有限带宽的物联网场景。作为一种轻量级的传输协议,MQTT协议的传输过程有三方构成,分别是发布者(Publish)、代理(Broker)和订阅者(Subscribe)。如图1所示。

图1  MQTT发布订阅过程

其中,发布者和订阅者由客户端充当,而代理则又服务器端充当。

MQTT协议的报文结构组成如表1所示。

表1 MQTT报文组成结构

Fixed header 固定报头 所有控制报文都包含
Variable header 可变报头 部分控制报文包含
Payload 有效载荷 部分控制报文包含

一条控制报文分为三个部分:第一部分是固定报头,第二部分是可变报头,第三部分是有效载荷。

一条发布和订阅消息的主题部分是其主题和有效载荷部分。其中,主题位于第二部分的可变报头中。

二、MQTT服务探测

探测过程MQTT服务测绘过程如下:

  1. 搭建MQTT服务

调研市面上主流的MQTT服务器,包括 mosquitto、 EMQ X、ActiveMQ、HiveMQ等。搭建MQTT服务完成后,进行报文发布/订阅测试。

  1. 对搭建完成的MQTT服务进行探测扫描,测试扫描插件回传消息成功性及完整性。
  2. 调取国内及全球存在资产暴露情况的IP地址,存储为列表,对列表内全部的IP地址进行探测扫描。
  3. 解析扫描结果,统计各MQTT服务的状态信息。选择的统计指标为回传信息中可以反应物联网设备情况并且与端口安全性相关的端口开放状态、端口响应返回情况和端口所只用的MQTT服务版本。提取回传报文中的主题及有效载荷信息,并通过文本聚类和报文长度筛选的方法进行识别归类处理。
  4. 提取梳理有效载荷字段中的资产暴露信息。订阅存在资产暴露信息的端口,对收集到的报文信息进行二次解析。汇总整合所有的资产暴露信息,分析其中存在的安全性隐患。

三、MQTT测绘分析

202年3月对全球的的MQTT服务进行探测,本节将介绍具体的数据分析结果。

3.1  MQTT服务版本分析

探测到的MQTT服务以mosquitto为主,以下是分布排名靠前的几种MQTT服务。 除mosquitto外,也探测到了少量的EMQ X和hiveMQ服务。在所有探测到的MQTT服务中,国内使用最多的是mosquitto1.4.13版本,全球使用最多的是mosquitto1.4.15版本,具体分布如图2和3所示。<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值