MQTT Client Test Suite Data Sheet
Test Suite:
MQTT Client Test Suite
Direction:
Client

MQTT is a Client Server publish/subscribe messaging transport protocol. It is light weight, open, simple, and designed so as to be easy to implement. These characteristics make it ideal for use in many situations, including constrained environments such as for communication in Machine to Machine (M2M) and Internet of Things (IoT) contexts where a small code footprint is required and/or network bandwidth is at a premium. MQTT Client Test Suite is designed to act as a malicious MQTT Server. It can be used to test MQTT clients to find security flaws and robustness problems. The test suite contains test cases for testing MQTT protocol specific operations. Additionally the test suite can be configured to test MQTT application layer specific payload which goes over the MQTT protocol.

Used specifications

Specification
Title
3.1.1

MQTT Version 3.1.1

3.1.0

MQTT Version 3.1.0

Tool-specific information

Tested messages
CONNACK

PUBLISH

PUBACK

PUBREC

PUBREL

PUBCOMP

SUBACK

UNSUBACK

PINGRESP

Feature
Description
MQTT application payload fuzzing

Payload that goes over MQTT can be fuzzed.

JSON payload fuzzing

Specific test cases are generated for JSON payload.

MQTT application payload relay

Test suite can be used to relay MQTT application data.

Not supported protocol features

MQTT over websocket

Test tool general features
  • Fully automated black-box negative testing
  • Ready-made test cases
  • Written in Java(tm)
  • GUI command line remote interface modes
  • Instrumentation (health-check) capability
  • Support and maintenance
  • Comprehensive user documentation
  • Results reporting and analysis