Shadow is a discrete-event network simulator designed for realistic, scalable experiments with distributed systems. It directly executes real application code as native Linux processes, allowing software to run within a controlled simulated network without requiring application-level modifications.
The software interposes on system calls and emulates the relevant operating system behaviour while modelling network protocols, routing, latency and packet loss. Experiments are deterministic and reproducible, making Shadow useful for debugging, performance analysis and research involving large numbers of network-connected processes. It has particularly strong support for large-scale Tor network simulations.
This is free and open source software.
Key Features
- Executes real, unmodified application code as native Linux processes.
- Combines application-level realism with discrete-event network simulation.
- Provides deterministic and reproducible experiments.
- Creates private virtual networks for simulated applications.
- Implements simulated TCP and UDP networking.
- Models routing, path latency and packet loss using configurable network graphs.
- Supports experiments involving thousands of network-connected processes.
- Interposes at the Linux system call interface without requiring applications to be simulation-aware.
- Offers strong support for large-scale Tor network simulations.
- Includes example simulations and extensive user and developer documentation.
Website: github.com/shadow/shadow
Support:
Developer: Shadow Developers
License: BSD 3-Clause “New” or “Revised” License
Shadow is written in Rust. Learn Rust with our recommended free books and free tutorials.
Related Software
| Network Simulators | |
|---|---|
| GNS3 | Emulate, configure, test, and troubleshoot virtual and real networks |
| Kathará | Lightweight network emulation system based on Docker containers |
| Dynamips | Emulate Cisco routers |
| ns-3 | Discrete-event network simulator |
| Cooja | Network simulator written in Java |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |


Please read our Comment Policy before commenting.