/ nmap Public
Initial submission of MQTT-related code to the Nmap project. #352
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge.
I am submitting a new port definition, service probe, discovery script, and protocol library for MQTT, an Internet of Things publish-subscribe protocol. MQTT is standardized and has many implementations and public test servers.
The code in this branch has one deficiency that I suspect the reviewer(s) can help fix: it does not properly connect over TLS for either the service probe nor the discovery script.
The following command lines can be used to test multiple public test servers using multiple MQTT broker implementations both with and without user authentication.
Without user authentication and without TLS (working):
nmap -p 1883 --script mqtt-subscribe test.mosquitto.org
nmap -p 1883 --script mqtt-subscribe broker.hivemq.com
nmap -p 1883 --script mqtt-subscribe broker.mqttdashboard.com
With user authentication and without TLS (working):
nmap -PN -sV --allports -p 11638 --script mqtt-subscribe --script-args=username=nmap,password=hunter2 m10.cloudmqtt.com
Without user authentication and with TLS (not working):
nmap -p 8883 --script mqtt-subscribe test.mosquitto.org
If you have any questions or guidance, I will do my best to respond promptly.