Common Open Research Emulator (CORE)
Common Open Research Emulator (CORE) builds real-time virtual networks that can connect with physical networks and routers.
What Common Open Research Emulator (CORE) is
Common Open Research Emulator (CORE) builds real-time virtual networks that can connect with physical networks and routers. It is used for network and protocol research, demonstrations, application and platform testing, scenario evaluation, security studies and enlarging physical test networks. A drag-and-drop GUI lets users draw topologies, create nodes and links, and launch terminals for emulated nodes. Applications and protocols can run without modification. On Linux, CORE uses namespaces, Ethernet bridging, virtual interfaces and Netem queuing disciplines to configure emulated networks. The core-daemon provides a gRPC API used by the GUI and other systems, while Python modules support scripted emulation. CORE supports distributed operation and hardware-in-the-loop, with connections to live networks. Documented services include EMANE, FRR, Quagga, SDN and XORP; EMANE supports higher-fidelity wireless networks. CORE is free, open source under the BSD-2-Clause license, and available for Linux, self-hosting and API use. Installation requires Linux kernel 3.3 or later, Python 3.10 or later, pip, venv, GUI Tcl/Tk support, iproute2 and nftables.
Good
- Real-time emulation connects to live networks
- Drag-and-drop topology GUI
- Runs unmodified applications and protocols
- gRPC API and Python scripting modules
- Supports distributed and hardware-in-the-loop operation
Watch out
- Linux-only platform
- Requires several system packages and tools
- Self-hosted installation is required
- No free trial is offered
Who it suits
CORE suits researchers, educators, security practitioners and engineers evaluating network scenarios or applications. It is also relevant when emulations must connect to physical networks, distributed instances or hardware-in-the-loop setups.
Verdict
CORE provides a customizable Linux environment for realistic network emulation, scripting and physical-network integration. Its open-source license, APIs and hardware-in-the-loop support make it suited to technical research and testing workflows.
The facts
Each one read from Common Open Research Emulator (CORE)'s own pages, with the date it was checked.
What it does
- API
- NRL says the CORE API lets other systems interact with CORE emulation and is used for communication between CORE components.checked 10 Oct 2026
- APIs
- The core-daemon provides a gRPC API, and the GUI communicates with the daemon over gRPC.checked 9 Oct 2026
- Customization
- CORE is described as highly customizable and includes Python modules for scripting network emulation.checked 9 Oct 2026
- Distributed and physical networks
- CORE supports distributed emulation and hardware-in-the-loop, and its emulated networks can connect to live networks.checked 9 Oct 2026
- Installation
- The repository documents package installation using deb or rpm packages and script installation for Ubuntu 22.04 and CentOS.checked 10 Oct 2026
- Installation options
- The project offers prebuilt RPM and DEB packages and script-based installation; its documentation gives Ubuntu 22.04 and Rocky Linux 8.10 examples.checked 9 Oct 2026
- Integrations
- CORE documentation includes provided services for EMANE, FRR, Quagga, SDN, and XORP.checked 9 Oct 2026
- Intended users
- NRL describes CORE for research, demonstrations, testing, security studies, and increasing the size of physical test networks.checked 10 Oct 2026
- Interface
- CORE provides a drag-and-drop GUI for creating nodes and links, and can launch terminals for emulated nodes.checked 9 Oct 2026
- Interface and scripting
- CORE includes a GUI for drawing topologies of lightweight virtual machines and Python modules for scripting network emulation.checked 10 Oct 2026
- Key features
- NRL lists an easy-to-use GUI canvas, centralized configuration and control, hardware-in-the-loop, distributed operation across multiple CORE instances, and customization.checked 10 Oct 2026
- License
- The GitHub repository identifies the project license as BSD-2-Clause.checked 10 Oct 2026
- Network implementation
- CORE runs on Linux and uses Linux namespaces, Ethernet bridging, virtual interfaces, and Netem queuing disciplines to form and configure emulated networks.checked 9 Oct 2026
- Purpose
- CORE emulates networks on one or more machines and can connect emulated networks to live networks.checked 10 Oct 2026
- Real-time and physical connections
- NRL says CORE runs emulations in real time and can connect them to physical networks and routers.checked 10 Oct 2026
- Requirements
- The repository states that CORE requires Python 3.9 or later.checked 10 Oct 2026
- Support
- The repository points users to GitHub-hosted documentation and a Discord channel for support discussions.checked 10 Oct 2026
- Unmodified software
- NRL says CORE runs applications and protocols without modifying them.checked 10 Oct 2026
- Use cases
- NRL says CORE is typically used for network and protocol research, demonstrations, application and platform testing, networking scenario evaluation, security studies, and expanding physical test networks.checked 10 Oct 2026
- Wireless integration
- CORE documentation describes using EMANE with CORE for higher-fidelity wireless networks.checked 10 Oct 2026
Alternatives to Common Open Research Emulator (CORE)
- 1

Containerlab
Free planOpen sourceWebAPIExtensionLinux7.6Free plan - 2
Avidemux
Free planOpen sourceWebLinuxmacOSWindows7.3Free plan - 3
Marionnet
Free planOpen sourceLinuxmacOSSelf-hostedWindows7.2Free plan - 4

EVE-NG
Free planWebLinuxmacOSSelf-hosted7.0Free plan - 5
Mininet
Free planAPILinuxmacOSSelf-hosted6.6Free plan - 6
NetSim
Free planWeb6.6From $15 a month
