Skip to content

Scanning Engine v2 - Module - MQTT

Overview

The Message Queuing Telemetry Transport (MQTT) is a lightweight, publish-subscribe, machine to machine network protocol for message queue/message queuing service. It is designed for connections with remote locations that have devices with resource constraints or limited network bandwidth, such as in the Internet of Things (IoT).

Upon connection to an MQTT service, this module attempts to dump the service's info. Also gathers any messages from public topics.

Targeting

This module targets TCP ports by IP address or hostname.

Configuration

Only the publicly-available configuration keys that can be set in a job's module invocations will be described below. Additional configuration keys may exist, but not be shown here because they are restricted to specific users or because they are permanently set as a static value. If no keys have (required) after their names then invocations of this module need not contain a config key.

Named Keys

debug

Run module with a debugging configuration.

  • Type: boolean

ssl

Connect using SSL/TLS.

  • Type: boolean

version

Connect using protocol version: 3, 4, or 5.

  • Type: integer
  • Default: 4

Values for this configuration key must be one the following:

  • 3
  • 4
  • 5

Schemas

The schema for the body object of all results generated with .task.module_name equal to mqtt can be found here. The schema for results is available both in standalone and bundled form.

Examples

These are examples of the .body object for results with .task.module_name equal to mqtt.

Live Host

This example was generated with a live host on the internet.

{
  "connected": true,
  "auth": false,
  "version": 4,
  "protocol": "mqtt",
  "connack": {
    "cmd": "connack",
    "retain": false,
    "qos": 0,
    "dup": false,
    "length": 2,
    "topic": null,
    "payload": null,
    "sessionPresent": false,
    "returnCode": 0
  },
  "bytes_captured": 19876,
  "num_events": 133,
  "num_topics": 45,
  "topics": [
    "$SYS/broker/bytes/received",
    "$SYS/broker/bytes/sent",
    "$SYS/broker/clients/active",
    "$SYS/broker/clients/connected",
    "$SYS/broker/clients/disconnected",
    "$SYS/broker/clients/expired",
    "$SYS/broker/clients/inactive",
    "$SYS/broker/clients/total",
    "$SYS/broker/load/bytes/received/15min",
    "$SYS/broker/load/bytes/received/1min",
    "$SYS/broker/load/bytes/received/5min",
    "$SYS/broker/load/bytes/sent/15min",
    "$SYS/broker/load/bytes/sent/1min",
    "$SYS/broker/load/bytes/sent/5min",
    "$SYS/broker/load/connections/15min",
    "$SYS/broker/load/connections/1min",
    "$SYS/broker/load/connections/5min",
    "$SYS/broker/load/messages/received/15min",
    "$SYS/broker/load/messages/received/1min",
    "$SYS/broker/load/messages/received/5min",
    "$SYS/broker/load/messages/sent/15min",
    "$SYS/broker/load/messages/sent/1min",
    "$SYS/broker/load/messages/sent/5min",
    "$SYS/broker/load/publish/received/15min",
    "$SYS/broker/load/publish/received/1min",
    "$SYS/broker/load/publish/received/5min",
    "$SYS/broker/load/publish/sent/15min",
    "$SYS/broker/load/publish/sent/1min",
    "$SYS/broker/load/publish/sent/5min",
    "$SYS/broker/load/sockets/15min",
    "$SYS/broker/load/sockets/1min",
    "$SYS/broker/load/sockets/5min",
    "$SYS/broker/messages/received",
    "$SYS/broker/messages/sent",
    "$SYS/broker/messages/stored",
    "$SYS/broker/publish/bytes/received",
    "$SYS/broker/publish/bytes/sent",
    "$SYS/broker/publish/messages/dropped",
    "$SYS/broker/publish/messages/received",
    "$SYS/broker/publish/messages/sent",
    "$SYS/broker/retained messages/count",
    "$SYS/broker/subscriptions/count",
    "$SYS/broker/timestamp",
    "$SYS/broker/uptime",
    "$SYS/broker/version"
  ],
  "messages": [
    {
      "$SYS/broker/version": "mosquitto version 1.4.8"
    },
    {
      "$SYS/broker/timestamp": "2019-06-17 20:47:28+0800"
    },
    {
      "$SYS/broker/uptime": "9298 seconds"
    },
    {
      "$SYS/broker/clients/total": "11"
    },
    {
      "$SYS/broker/clients/inactive": "1"
    },
    {
      "$SYS/broker/clients/disconnected": "1"
    },
    {
      "$SYS/broker/clients/active": "10"
    },
    {
      "$SYS/broker/clients/connected": "10"
    },
    {
      "$SYS/broker/clients/expired": "0"
    },
    {
      "$SYS/broker/messages/stored": "42"
    },
    {
      "$SYS/broker/messages/received": "3488"
    },
    {
      "$SYS/broker/messages/sent": "3488"
    },
    {
      "$SYS/broker/subscriptions/count": "200"
    },
    {
      "$SYS/broker/retained messages/count": "42"
    },
    {
      "$SYS/broker/publish/messages/dropped": "0"
    },
    {
      "$SYS/broker/publish/messages/received": "982"
    },
    {
      "$SYS/broker/publish/messages/sent": "0"
    },
    {
      "$SYS/broker/publish/bytes/received": "121907"
    },
    {
      "$SYS/broker/publish/bytes/sent": "102822"
    },
    {
      "$SYS/broker/bytes/received": "161449"
    },
    {
      "$SYS/broker/bytes/sent": "137162"
    },
    {
      "$SYS/broker/load/messages/received/1min": "15.13"
    },
    {
      "$SYS/broker/load/messages/received/5min": "17.24"
    },
    {
      "$SYS/broker/load/messages/received/15min": "17.79"
    },
    {
      "$SYS/broker/load/messages/sent/1min": "15.13"
    },
    {
      "$SYS/broker/load/messages/sent/5min": "17.24"
    },
    {
      "$SYS/broker/load/messages/sent/15min": "17.79"
    },
    {
      "$SYS/broker/load/publish/received/1min": "4.17"
    },
    {
      "$SYS/broker/load/publish/received/5min": "4.53"
    },
    {
      "$SYS/broker/load/publish/received/15min": "4.70"
    },
    {
      "$SYS/broker/load/bytes/received/1min": "319.13"
    },
    {
      "$SYS/broker/load/bytes/received/5min": "654.99"
    },
    {
      "$SYS/broker/load/bytes/received/15min": "752.04"
    },
    {
      "$SYS/broker/load/bytes/sent/1min": "305.71"
    },
    {
      "$SYS/broker/load/bytes/sent/5min": "569.07"
    },
    {
      "$SYS/broker/load/bytes/sent/15min": "647.08"
    },
    {
      "$SYS/broker/load/sockets/1min": "0.06"
    },
    {
      "$SYS/broker/load/sockets/5min": "0.20"
    },
    {
      "$SYS/broker/load/sockets/15min": "0.07"
    },
    {
      "$SYS/broker/load/connections/1min": "0.06"
    },
    {
      "$SYS/broker/load/connections/5min": "0.20"
    },
    {
      "$SYS/broker/load/connections/15min": "0.07"
    },
    {
      "$SYS/broker/uptime": "9309 seconds"
    },
    {
      "$SYS/broker/clients/total": "12"
    },
    {
      "$SYS/broker/clients/active": "11"
    },
    {
      "$SYS/broker/clients/connected": "11"
    },
    {
      "$SYS/broker/load/messages/received/1min": "18.99"
    },
    {
      "$SYS/broker/load/messages/sent/1min": "57.37"
    },
    {
      "$SYS/broker/load/publish/received/1min": "3.48"
    },
    {
      "$SYS/broker/load/publish/sent/1min": "38.37"
    },
    {
      "$SYS/broker/load/bytes/received/1min": "304.96"
    },
    {
      "$SYS/broker/load/bytes/sent/1min": "1832.44"
    },
    {
      "$SYS/broker/load/sockets/1min": "0.91"
    },
    {
      "$SYS/broker/load/connections/1min": "0.91"
    },
    {
      "$SYS/broker/load/messages/received/5min": "17.99"
    },
    {
      "$SYS/broker/load/messages/sent/5min": "26.24"
    },
    {
      "$SYS/broker/load/publish/received/5min": "4.37"
    },
    {
      "$SYS/broker/load/publish/sent/5min": "8.25"
    },
    {
      "$SYS/broker/load/bytes/received/5min": "639.85"
    },
    {
      "$SYS/broker/load/bytes/sent/5min": "887.73"
    },
    {
      "$SYS/broker/load/sockets/5min": "0.25"
    },
    {
      "$SYS/broker/load/connections/5min": "0.25"
    },
    {
      "$SYS/broker/load/messages/received/15min": "18.04"
    },
    {
      "$SYS/broker/load/messages/sent/15min": "20.82"
    },
    {
      "$SYS/broker/load/publish/received/15min": "4.64"
    },
    {
      "$SYS/broker/load/publish/sent/15min": "2.78"
    },
    {
      "$SYS/broker/load/bytes/received/15min": "745.75"
    },
    {
      "$SYS/broker/load/bytes/sent/15min": "753.65"
    },
    {
      "$SYS/broker/load/sockets/15min": "0.11"
    },
    {
      "$SYS/broker/load/connections/15min": "0.11"
    },
    {
      "$SYS/broker/messages/stored": "45"
    },
    {
      "$SYS/broker/subscriptions/count": "202"
    },
    {
      "$SYS/broker/retained messages/count": "45"
    },
    {
      "$SYS/broker/messages/received": "3495"
    },
    {
      "$SYS/broker/messages/sent": "3537"
    },
    {
      "$SYS/broker/publish/messages/sent": "42"
    },
    {
      "$SYS/broker/bytes/received": "161492"
    },
    {
      "$SYS/broker/bytes/sent": "138889"
    },
    {
      "$SYS/broker/publish/bytes/sent": "103036"
    },
    {
      "$SYS/broker/uptime": "9320 seconds"
    },
    {
      "$SYS/broker/load/messages/received/1min": "17.64"
    },
    {
      "$SYS/broker/load/messages/sent/1min": "83.39"
    },
    {
      "$SYS/broker/load/publish/received/1min": "2.89"
    },
    {
      "$SYS/broker/load/publish/sent/1min": "65.75"
    },
    {
      "$SYS/broker/load/bytes/received/1min": "257.53"
    },
    {
      "$SYS/broker/load/bytes/sent/1min": "2907.90"
    },
    {
      "$SYS/broker/load/sockets/1min": "0.76"
    },
    {
      "$SYS/broker/load/connections/1min": "0.76"
    },
    {
      "$SYS/broker/load/messages/received/5min": "17.74"
    },
    {
      "$SYS/broker/load/messages/sent/5min": "32.96"
    },
    {
      "$SYS/broker/load/publish/received/5min": "4.21"
    },
    {
      "$SYS/broker/load/publish/sent/5min": "15.22"
    },
    {
      "$SYS/broker/load/bytes/received/5min": "617.60"
    },
    {
      "$SYS/broker/load/bytes/sent/5min": "1152.89"
    },
    {
      "$SYS/broker/load/messages/received/15min": "17.95"
    },
    {
      "$SYS/broker/load/messages/sent/15min": "23.15"
    },
    {
      "$SYS/broker/load/publish/received/15min": "4.58"
    },
    {
      "$SYS/broker/load/publish/sent/15min": "5.20"
    },
    {
      "$SYS/broker/load/bytes/received/15min": "736.96"
    },
    {
      "$SYS/broker/load/bytes/sent/15min": "844.75"
    },
    {
      "$SYS/broker/messages/received": "3497"
    },
    {
      "$SYS/broker/messages/sent": "3576"
    },
    {
      "$SYS/broker/publish/messages/sent": "79"
    },
    {
      "$SYS/broker/bytes/received": "161496"
    },
    {
      "$SYS/broker/bytes/sent": "140402"
    },
    {
      "$SYS/broker/publish/bytes/sent": "103205"
    },
    {
      "$SYS/broker/uptime": "9331 seconds"
    },
    {
      "$SYS/broker/load/messages/received/1min": "16.51"
    },
    {
      "$SYS/broker/load/messages/sent/1min": "95.92"
    },
    {
      "$SYS/broker/load/publish/received/1min": "2.41"
    },
    {
      "$SYS/broker/load/publish/sent/1min": "79.41"
    },
    {
      "$SYS/broker/load/bytes/received/1min": "218.05"
    },
    {
      "$SYS/broker/load/bytes/sent/1min": "3468.80"
    },
    {
      "$SYS/broker/load/sockets/1min": "0.63"
    },
    {
      "$SYS/broker/load/connections/1min": "0.63"
    },
    {
      "$SYS/broker/load/messages/received/5min": "17.49"
    },
    {
      "$SYS/broker/load/messages/sent/5min": "37.46"
    },
    {
      "$SYS/broker/load/publish/received/5min": "4.06"
    },
    {
      "$SYS/broker/load/publish/sent/5min": "19.97"
    },
    {
      "$SYS/broker/load/bytes/received/5min": "596.15"
    },
    {
      "$SYS/broker/load/bytes/sent/5min": "1336.63"
    },
    {
      "$SYS/broker/load/messages/received/15min": "17.86"
    },
    {
      "$SYS/broker/load/messages/sent/15min": "24.79"
    },
    {
      "$SYS/broker/load/publish/received/15min": "4.53"
    },
    {
      "$SYS/broker/load/publish/sent/15min": "6.93"
    },
    {
      "$SYS/broker/load/bytes/received/15min": "728.27"
    },
    {
      "$SYS/broker/load/bytes/sent/15min": "910.49"
    },
    {
      "$SYS/broker/messages/received": "3499"
    },
    {
      "$SYS/broker/messages/sent": "3605"
    },
    {
      "$SYS/broker/publish/messages/sent": "106"
    },
    {
      "$SYS/broker/bytes/received": "161500"
    },
    {
      "$SYS/broker/bytes/sent": "141549"
    },
    {
      "$SYS/broker/publish/bytes/sent": "103347"
    }
  ]
}

Changelog

  • 2025-05-05: Initial release of versioning to each module. All modules are tagged with a version number "1.0.0". Going forward:
    • Major version should be changed when there are changes that impact consumers or clients of the modules
    • Minor version should be changed when there are additions which enrich or enhance the module but shouldn’t affect consumers or clients
    • Patch version should be changed when there are bugfixes