Hands down the easiest way to introduce network issues in applications on Windows is to use Clumsy. There is both a GUI and a command line interface available. The functionalities are as follows:
- Drop packets with a % chance
- Duplicate packets
- Add lag
- Make the packets go out of order
- Tamper packets
The GUI looks like the gif below but all the above commands are also available via command line interface.
How To Call Clumsy.exe From Terminal/CLI
It’s easy to miss the Wiki on Clumsy’s official Github page: https://github.com/jagt/clumsy/wiki/Command-Line-Arguments
The way to use it in 3 steps:
- First filter the and specify which IPs or Ports you want the settings to apply to.
- Then enable the different features lag/drop/duplicate… inbound or outbound.
- Then for each feature enabled specify the amount for each of them. This can be a number or percentage depending on the feature. For example lag is in number of Milliseconds while drop is in drop percentage chance.
Below is a sample execution of Clumsy.exe to drop all packets inbound or outbound over TCP port 443.
clumsy.exe --filter "tcp and (tcp.DstPort == 443 or tcp.SrcPort == 443)" --drop on --drop-inbound on --drop-outbound on --drop-chance 100.0
The best way to get used to it is to use the GUI version first. Then if you need to automate things use the CLI instead.