Clumsy 0.2
Introduction | |
Clumsy Review | |
Default Rules | |
Block Specific IP | |
Sources | |
More Testing Tools |
Introduction
Most Internet users strive to have a reliable network connection to the Internet, as it enables them to enjoy what it has to offer without most of the issues that may occur otherwise.
If you are a gamer, you may want to avoid lag more than anything else, while P2P users may dislike throttling and users who stream media the dropping of packets.
If you are a network administrator, or a developer whose creations rely on network connections, you may want to test how it behaves when conditions worsen.
What happens to your app when you are experiencing
lags
drops or throttling?
Are those events properly taken care of, or will they crash the service or application instead?
Clumsy Review
Clumsy for Windows has been designed to provide you with the answers to that. The free program, available as a 32-bit and 64-bit version, can simulate bad network connections.
When you start the portable program after unpacking the graphical user interface that you see on the screenshot above launches.
The top lets you select a preset for your tests, for instance all IPv4 localhost traffic, all sending packets, or against specific IP addresses.
After packets are captured, you can choose to enable provided functions to worsen perspective network condition:
- Lag, hold the packets for a short period of time to emulate network lagging.
- Drop, randomly discard packets.
- Throttle, block traffic for a given time frame, then send them in a single batch.
- Duplicate, send cloned packets right after to the original one.
- Out of order, re-arrange the order of packets.
- Tamper, nudge bits of packet's content.
Check out this nice gif demonstrating how these functions affect packages:
Some functions have additional parameters that you can define. If you want to throttle, you can specify the time frame in addition to the chance of it happening. For the duplicate function, you can define the count of packets, and for tamper, to redo the checksum.
To use the program, select the functions that you need for your tests, and click on the start button afterwards. The button turns into a stop button that you can use to stop the simulation at any point in time.
Tips
- If you want a function to have effect all the time, raise the chance to 100%.
- You can select multiple functions if you want to test the impact of more than one on the network condition (e.g. lag and dropped packets).
- Clumsy does work if you are offline.
- It works with any application running on the system.
The source code of Clumsy has been made available as well, and a manual has been created as well which lists limitations and how to use the application.
Default Rules
Rule | Description: |
---|---|
localhost ipv4 all : | outbound and ip.DstAddr >= 127.0.0.1 and ip.DstAddr <= 127.255.255.255 |
localhost ipv4 tcp : | tcp and outbound and ip.DstAddr >= 127.0.0.1 and ip.DstAddr <= 127.255.255.255 |
localhost ipv4 udp : | udp and outbound and ip.DstAddr >= 127.0.0.1 and ip.DstAddr <= 127.255.255.255 |
all sending packets : | outbound |
all receiving packets : | inbound |
all ipv4 against specific ip : | ip.DstAddr == 198.51.100.1 or ip.SrcAddr == 198.51.100.1 |
tcp ipv4 against specific ip : | tcp and (ip.DstAddr == 198.51.100.1 or ip.SrcAddr == 198.51.100.1) |
udp ipv4 against specific ip : | udp and (ip.DstAddr == 198.51.100.1 or ip.SrcAddr == 198.51.100.1) |
all ipv4 against port : | ip.DstPort == 12354 or ip.SrcPort == 12354 |
tcp ipv4 against port : | tcp and (tcp.DstPort == 12354 or tcp.SrcPort == 12354) |
udp ipv4 against port : | udp and (udp.DstPort == 12354 or udp.SrcPort == 12354) |
ipv6 all : | ipv6 |
Rule to block all IPs, except two predefined in the rule | ipv6 and ip.DstAddr !=10.6.1.100 and ip.DstAddr !=10.6.1.170 (does not work) |
How to block specific IP
ip.DstAddr ==10.6.1.107 or ip.SrcAddr == 10.6.1.107
Please comment what do you use Clumsy 0.2 for