MQTT
Um protocolo leve de publicar e assinar mensagens por tópicos, muito usado em aparelhos de IoT.
No MQTT, os aparelhos não falam direto uns com os outros: todos se conectam a um servidor central, o broker, normalmente na porta TCP 1883 (8883 com TLS). Quem tem algo a dizer publica (PUBLISH) uma mensagem num tópico, um nome com barras como casa/sala/temperatura; quem quer ouvir assina (SUBSCRIBE) o tópico, e o broker repassa.
| Mensagem | Para que serve |
|---|---|
| CONNECT | o cliente se apresenta (identificador, usuário e senha, se houver) |
| PUBLISH | envia uma mensagem num tópico; o conteúdo pode ser texto, JSON ou binário |
| SUBSCRIBE | pede para receber um tópico (aceita curingas + e #) |
| PUBACK | confirma o recebimento de uma publicação |
Sem TLS, tudo passa em claro: o Wireshark mostra usuário, senha, tópico e conteúdo. Filtros úteis: mqtt, mqtt.topic contains "casa". No terminal:
tshark -r captura.pcap -Y mqtt.topic -T fields -e mqtt.topic -e mqtt.msg
O campo mqtt.msg sai em hexadecimal; se for texto, o From Hex do CyberChef (abre em nova aba) mostra. Muitos sistemas mandam conteúdo binário estruturado, como protobuf (o formato de mensagens do Google), que o Protobuf Decode do CyberChef abre mesmo sem o esquema. O Meshtastic, por exemplo, publica cada pacote da rede de rádio em tópicos msh/....