AdaptMON is a C++23 platform for building high-performance applications that monitor and process network traffic.
Warning
This project is under active development. All sources are work in progress and all APIs can change in the future without notice. No stability guarantees are provided at this stage.
Rather than targeting a single use case, AdaptMON provides reusable building blocks for the whole life cycle of network traffic processing — acquisition, parsing, analysis, filtering, editing, and generation. The platform is designed to scale from capture-file processing to high-speed live traffic.
The repository consists of a modular C++ library (amon-lib) implementing these building
blocks and a set of command-line applications built on top of it. See the
apps directory for details about the individual tools.
- Linux
- GCC 14 or newer (C++23)
- CMake 3.25 or newer
- DPDK (optional, enabled by default)
- libpcap (optional, enabled by default)
On Fedora/RHEL-based systems, all build requirements can be installed automatically using
the provided prepare-machine script:
./prepare-machineThe script installs the compiler toolchain, CMake, DPDK, libpcap and other development
dependencies. It also supports a dev-container role for preparing a Docker-based
development environment.
Alternatively, a Docker image with all dependencies preinstalled can be built and entered with:
# Build the development container image and enter it
make enter-dev-container
# Only build the image, then run it manually
make dev-containerThe project is built using CMake via the Makefile wrapper:
# Release build (default)
make
# Debug build with tests and sanitizers
make debug-build
# Run tests
make test
# Build RPM packages
make rpmReleased under the BSD 3-Clause license, © 2026 CESNET, z.s.p.o.