Skip to content
SPECIFICTION
Get listed

Shadow

shadow.github.io

Linux
Visit shadow.github.io
Spec score 6.8 #29 of 33 in Network Testing Software

Spec sheet

Purpose
Shadow is a scientific experimentation tool for research, development, testing, and evaluation of real networked applications on simulated networks.Read 8 Oct 2026 · shadow.github.io
Privacy
Shadow says simulations are private and segregated from the Internet.Read 8 Oct 2026 · shadow.github.io
Support
The project directs users to GitHub Discussions for community support and GitHub Issues for bug reports.Read 8 Oct 2026 · github.com
Configurable networks
A configurable network graph models characteristics such as path latency and packet loss.Read 8 Oct 2026 · shadow.github.io
Dependencies
Building Shadow requires Linux development dependencies including GCC, Python, GLib, CMake, and Rustup.Read 8 Oct 2026 · shadow.github.io
Deterministic experiments
Experiments can be scientifically controlled and deterministically replicated to help reproduce bugs and reduce confounding factors.Read 8 Oct 2026 · shadow.github.io
Example workflow
The basic example simulates an HTTP server and three clients making requests across virtual hosts.Read 8 Oct 2026 · shadow.github.io
Execution model
Shadow runs real, unmodified application binaries as native Linux processes in a discrete-event simulation.Read 8 Oct 2026 · shadow.github.io
Network controls
Shadow models routing characteristics such as path latency and packet loss using a configurable network graph.Read 8 Oct 2026 · shadow.github.io
Network model
Shadow connects managed applications through an internal simulated network with protocols such as TCP and UDP.Read 8 Oct 2026 · shadow.github.io
Network simulation
It connects managed processes through a private virtual network and simulates protocols including TCP and UDP.Read 8 Oct 2026 · shadow.github.io
Open source
The project describes Shadow as 100% open-source software written primarily in Rust and C.Read 8 Oct 2026 · shadow.github.io
Real application execution
It runs unmodified application binaries as native Linux processes inside a discrete-event simulation.Read 8 Oct 2026 · shadow.github.io
Reproducibility
Shadow experiments are deterministic, so bugs can be reproduced by rerunning a simulation.Read 8 Oct 2026 · shadow.github.io
Scale
Shadow says it can simulate distributed systems with thousands of network-connected processes on a Linux laptop, desktop, or server.Read 8 Oct 2026 · shadow.github.io
Security caveat
Shadow's security policy warns that it is not designed to isolate potentially malicious programs, which may access host files or issue native system calls.Read 8 Oct 2026 · github.com
Source code
Shadow is 100% open-source software written primarily in Rust and C.Read 8 Oct 2026 · shadow.github.io
Supported use case
The documentation says large-scale Tor network simulations are a particularly well-supported use case.Read 8 Oct 2026 · shadow.github.io
System call limits
Shadow implements over 150 system call API functions but does not yet fully support all API features, so applications using more complex features may not work correctly.Read 8 Oct 2026 · shadow.github.io
System call support
Shadow implements over 150 system call API functions, but applications using unsupported or complex features may not work correctly.Read 8 Oct 2026 · shadow.github.io
Testing and debugging
The project describes using large, diverse test networks to exercise corner cases and improve test coverage.Read 8 Oct 2026 · shadow.github.io
Tor use case
The documentation says large-scale Tor network simulations are a particularly well-supported use case.Read 8 Oct 2026 · shadow.github.io

Where Specifiction places it

Alternatives to ShadowAll alternatives →