Common attacks and weaknesses
- Weak device credentials shared across fleets.
MQTT over TLS.
Producers publish messages into a queue on port 8883; consumers pick them up in order, at their own pace. Everything is encrypted: someone on the path only sees unreadable bytes.
| Service | Port | Transport | Description | Reference | Updated |
|---|---|---|---|---|---|
| secure-mqtt | 8883 | TCP, UDP | Secure MQTT | - | 2015-03-06 |
// source: IANA service name and port number registry
Linux
sudo ss -ltnup 'sport = :8883' # process listening on 8883
sudo lsof -nP -i :8883macOS
sudo lsof -nP -i :8883
Windows (PowerShell)
Get-NetTCPConnection -LocalPort 8883 -State Listen | Select LocalAddress, OwningProcess Get-NetUDPEndpoint -LocalPort 8883 netstat -ano | findstr :8883
From another machine
nmap -p 8883 -sV <host> sudo nmap -sU -p 8883 <host> nc -zv <host> 8883
Block it in the firewall
sudo ufw deny 8883/tcp # Linux (ufw) New-NetFirewallRule -DisplayName "Block 8883" -Direction Inbound -LocalPort 8883 -Protocol TCP -Action Block # Windows
MQTT over TLS.
Port 8883 is registered for TCP and UDP. In practice the service mostly uses TCP.
It is rated 4/10 (moderate) when exposed to the Internet. Weak device credentials shared across fleets. Use per-device client certificates.
On Linux run "ss -ltnup 'sport = :8883'", on macOS "lsof -nP -i :8883", and on Windows "netstat -ano | findstr :8883" to see the local process. From another machine, "nmap -p 8883 <host>" shows whether it is reachable.