NetLoiter: A Tool for Automated Testing of Network Applications using Fault-injection
The reliability of a network is a crucial requirement for applications and systems such as IoT (Internet-of-Things), cloud-based solutions, client-server, or peer-to-peer architectures. Unfortunately, real networks cannot be assumed to be fault-free, especially when considering various hardware problems, performance issues, or even malicious attacks. Testing network applications should include the evaluation of fault-tolerance of a system under various network conditions. The paper introduces a tool which helps developers and verification&validation practitioners easily analyse their network application’s behaviour in unexpected network situations. The tool is based on man-in-the-middle and aims at network nodes communicating using a single network interface. The tool implements a fault-injection method; supported faults and attacks are inspired by the real world, including lossy channels, network jitter, data corruption, or disconnections.