Skip to content
AdminKit

MQTT

What is MQTT?

MQTT (Message Queuing Telemetry Transport) is a lightweight publish/subscribe messaging protocol built for constrained devices and unreliable networks, which is why it became the default choice for a huge range of IoT products. AdminKit's guide to checking an open MQTT broker explains why its default port, 1883, so often ships with no authentication at all.

By AdminKit team, Netbase JSC · Updated

MQTT (Message Queuing Telemetry Transport) is a lightweight publish/subscribe messaging protocol, standardized by OASIS, designed for constrained devices and unreliable networks, which is why it became the default choice for a huge range of IoT products — sensors, smart-home hubs, industrial telemetry. The protocol’s community site, mqtt.org, keeps a list of brokers and client libraries that implement it. Devices publish messages to named “topics” on a central broker, and other devices subscribe to the topics they care about, without needing to know each other’s addresses directly. The default configuration in many consumer and even some industrial products ships with no authentication and no encryption on its standard port, 1883, meaning anyone who can reach the broker can read or inject messages on any topic unless it’s been explicitly locked down. MQTT and CoAP solve a similar constrained-device problem differently — publish-subscribe over TCP versus RESTful over UDP — and both commonly ship exposed with no authentication. AdminKit’s MQTT exposure check tests a broker’s own anonymous-access behavior directly, live, against the public IP making the request.

See the full AdminKit glossary for other related terms.

Frequently asked questions

Who standardizes MQTT?

OASIS, which publishes the MQTT specification as an open standard, currently at version 5.0.

What is MQTT's default port, and is it secure by default?

Port 1883 -- and the default configuration in many consumer and even industrial products ships with no authentication and no encryption on it at all.

How do MQTT devices communicate without knowing each other's addresses?

Devices publish messages to named topics on a central broker, and other devices subscribe to the topics they care about, with the broker handling delivery between them.

What happens if an MQTT broker is left open with no authentication?

Anyone who can reach the broker can read or inject messages on any topic, unless it's been explicitly locked down.