Question: DoS attack on MQTT One way to attack the client is to flood the client with requests. This can be done by creating a script

DoS attack on MQTT

One way to attack the client is to flood the client with requests. This can be done by creating a script that sends a large number of requests to the client. This can overload the client and cause it to crash.

Question: How to publish a large number of message to topic which can cause the MQTT broker become overloaded and unavailable for clients?

Answered: DoS attack on MQTT One way to attack the client is to

1) Show me how to flood an MQTT broker with 1000 messages using the script given above in ubuntu/linux.

2) Show to me that the flood is succeed (show that the client is overload and cause it to crashed)

3) Please show A SCREENSHOT THAT YOU ARE DOING ON UBUNTU/LINUX from first till the flood is succeed.

p/s: do not take this question if you cannot do it on ubuntu/linux and cannot provide me a screenshot of you doing it till succeed

There is no real limit to how many messages you can publish to an MQTT topic, however if you want to flood an MQTT broker with messages you can use the mosquitto_pub> tool that comes with Mosquitto. The syntax is: mosquitto_pub -t topic_name -m "message" If you want to publish a bunch of messages in a loop you can do: for i in {1..100} do mosquitto_pub -t topic_name -m "Message \$i" done code > Explanation: This code will publish 100 messages to the code > topic_name code > topic. Each message will be numbered from 1 to 100 . If you want to publish a lot more messages, you can increase the number in the code > for loop. For example, > for i in {1..1000} code > will publish 1000 messages. You can also use the code >q code > option to set the quality of service level for the messages. The possible values are 0 (fire and forget), 1 (at least once), or 2 (exactly once). The default is 0. For example, mosquitto_pub -t topic_name -m "message" -q 1 code> will publish the message with a quality of service level of 1 . There is no real limit to how many messages you can publish to an MQTT topic, however if you want to flood an MQTT broker with messages you can use the mosquitto_pub> tool that comes with Mosquitto. The syntax is: mosquitto_pub -t topic_name -m "message" If you want to publish a bunch of messages in a loop you can do: for i in {1..100} do mosquitto_pub -t topic_name -m "Message \$i" done code > Explanation: This code will publish 100 messages to the code > topic_name code > topic. Each message will be numbered from 1 to 100 . If you want to publish a lot more messages, you can increase the number in the code > for loop. For example, > for i in {1..1000} code > will publish 1000 messages. You can also use the code >q code > option to set the quality of service level for the messages. The possible values are 0 (fire and forget), 1 (at least once), or 2 (exactly once). The default is 0. For example, mosquitto_pub -t topic_name -m "message" -q 1 code> will publish the message with a quality of service level of 1

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Accounting Questions!