

Finally, you will attack the MQTT infrastructure by trying to intercept the MQTT communications between the clients and broker. You will also secure MQTT communications using username and password credentials and transport layer security (TLS). You will also publish MQTT messages and subscribe to MQTT topics. In this lab, you will setup an MQTT infrastructure that includes a broker, publisher, and subscriber. The broker sends the messages to the clients that have subscribed to the topic of the message. The broker is responsible for receiving and filtering all messages and deciding which devices are interested in which messages based on the message topic. The MQTT broker is the server that handles communications between the publisher and subscriber. A published topic can be the output data from a sensor, for example. You can only publish to an individual topic. MQTT does not allow publishing to topics using wildcards. An MQTT client can subscribe to one topic or multiple topics using wildcards, # and +. The structure is used for message filtering and routing. MQTT topics use a hierarchal structure, similar to a file path. The MQTT protocol uses topics as a communication avenue. When using MQTT over SSL, it uses the registered TCP/IP port 8883. MQTT uses the reserved TCP/IP port 1883 by default. MQTT is an ideal protocol for machine-to-machine (M2M) communications.

It is designed for IoT devices and uses minimal bandwidth and device resources.

Message queuing telemetry transport (MQTT) is an extremely simple and lightweight publish/subscribe messaging protocol. Part 4: Adding TLS protection Background/Scenario.Part 3: Adding Username/Password Authentication.Part 1: Setting up a Publishing/Subscriber MQTT Infrastructure.Network connectivity between PC and Raspberry Pi Devices.3 Raspberry Pi 3 devices, Model B or later.5.1.3.7 Lab – Hacking MQTT (Instructor Version) Topology
