A tool to simulate common network problems like latency, bandwidth restrictions, and packet loss for testing distributed systems.
Comcast is a command-line tool that simulates poor network conditions—such as latency, bandwidth restrictions, and packet loss—to help developers test and build more resilient distributed systems. It wraps system-level networking tools like `iptables` and `tc` on Linux or `pfctl` and `ipfw` on BSD/OSX to inject controlled failures into network traffic.
Developers, DevOps engineers, and system administrators working on distributed systems who need to test application behavior under realistic network impairments.
It provides a simple, cross-platform CLI to simulate real-world network issues without manual configuration of low-level tools, making resilience testing accessible and repeatable.
Simulating shitty network connections so you can build better systems.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a unified CLI interface for network simulation on Linux and BSD/OSX, abstracting complex tools like tc and iptables into simple commands.
Allows precise application of network conditions to specific IPs, protocols, and ports, as shown in the Linux usage example with --target-addr and --target-proto.
Includes a --dry-run flag to log system commands without execution, reducing risk by letting users verify changes first.
The --stop command quickly reverts all network impairments, minimizing disruption and simplifying cleanup after testing.
The README explicitly states that Windows implementation is not yet available, limiting its utility in mixed-OS environments.
On BSD systems, Comcast only supports device, latency, bandwidth, and packet loss, unlike Linux which offers additional options like target protocols and ports.
Requires administrative privileges to execute underlying system tools, which can be problematic in containerized or locked-down environments.