How to overturn your network? Of course, use it! Clumsy, an unconventional operation and maintenance tool

In the world of network operation and maintenance and development and testing, there is a tool that does not follow the usual path. Other tools are trying to optimize the network, but it is committed to "destroying" and making the network worse. It is Clumsy. Don't underestimate this "troublemaker", it can be very useful in specific scenarios.
1. What is Clumsy?
Clumsy is a weak network testing tool designed for developers and testers, mainly running on Windows systems. Its core capability is to simulate various complex and poor network conditions at the local computer level to test the stability and performance of applications in poor network environments.
It uses the WinDivert library to intercept network data packets received and sent by the system in real time, and then artificially delays, drops, tampers with, and performs other operations on these data packets before sending them out.
How Clumsy makes the Internet bad
Take a look at its configuration page first, and you'll know what this thing does:
- Lag: You can cache the request for a period of time before sending it out, and the maximum delay can be set to 3000ms. Imagine that you click on a web link, and the page starts loading after several seconds, or when you watch a video, the buffering keeps going in circles. This is the effect of Clumsy's simulated delay.
- Drop: Randomly discard some request packets. For example, when you play an online game, the character suddenly becomes uncontrollable, freezes in one place, and then teleports after a while. This is probably caused by network packet loss, and Clumsy can simulate this situation.
- Throttle: intercepts requests for a short period of time and then sends them out all at once. This is like a flow of cars that were originally passing in an orderly manner, suddenly being blocked at an intersection, and then released all at once. The network will be instantly congested, resulting in a slow response.
- Duplicate: Randomly copy some requests and send them together with the original request. A large number of duplicate requests will occupy network bandwidth and interfere with normal network data transmission.
- Out of order: Disrupts the order in which requests are sent. Network data is like letters that are arranged in order. When Clumsy disrupts the order, the receiver will have difficulty processing it, causing errors in the application.
- Tampering: Randomly modifying a small part of the request content. This is like the transmitted information being maliciously tampered with, the receiving end receives the wrong information, and the program cannot run normally.
3. Example of usage scenarios
If you are an APP developer and want to ensure that your APP can run stably under various network conditions, you can use Clumsy to simulate different degrees of network problems to see whether the APP will crash, whether data loading is normal, etc. Or if you are a network engineer and you suspect that some network problems are causing business anomalies when troubleshooting network problems, you can use Clumsy to simulate the same network problems to verify whether your judgment is correct.
Although Clumsy will make the network "bad", it is this "bad" that can help us discover potential problems in the network and applications in advance, so that we can be prepared for the real and complex network environment.
4. How to download and use Clumsy
1. Get the installation package
You can download it from the GitHub repository at: https://jagt.github.io/clumsy/download.html
2. Unzip and install
After the download is complete, create a folder and unzip the compressed package into the folder to complete the installation and use without complicated installation steps.