# Message Protocols ## Where to begin * __Communication Sniffing__ on unsecured connections * __Source code analysis__ * __Documentation__ ## Message Queueing Telemetry Transport (MQTT) Queues on a Broker are used through a __publish/subscribe__ model as an asynchronous connection in the following way * Publisher sends data to a queue of the broker * Broker holds the message in Topics (queues) for period of time * Subscriber may connect and get the message from the Broker via Topics ### Tools & Usage * `nmap` to list the topics * Use `MQTT-Explorer` for intel * `mosquitto_sub -h -t ` to subscribe to topics or query the device ID. Listen to all topics via ```sh mosquitto_sub -h -t '#' ``` * `mosquitto_pub -h ` to publish to topics through mentioning the device ID. Can be send as raw, xml or json. `-f` for file sending * Base64 encoding ## References * [Mosquitto usage](https://cedalo.com/blog/mqtt-subscribe-publish-mosquitto-pub-sub-example/)