Installation¶
System Requirements¶
- Linux (kernel 3.0+ for AF_PACKET)
- CMake >= 3.16
- C11 compiler (GCC or Clang)
- pkg-config
Dependencies¶
| Dependency | Purpose | Minimum Version |
|---|---|---|
| libpcap | Packet capture | Any recent |
| nDPI | Deep packet inspection | 4.11+ |
Ubuntu/Debian¶
RHEL/CentOS/Fedora¶
nDPI from Source¶
If nDPI is not available in your distribution's repositories:
git clone https://github.com/ntop/nDPI.git
cd nDPI
./autogen.sh && ./configure && make && sudo make install
sudo ldconfig
Verify installation:
Building from Source¶
Clone and Build¶
git clone <repository-url>
cd pqc-flow
mkdir build && cd build
cmake .. -DENABLE_TESTS=ON
make -j$(nproc)
Build Options¶
| Option | Default | Description |
|---|---|---|
-DENABLE_TESTS=ON |
OFF | Build unit tests |
-DCMAKE_BUILD_TYPE=Release |
- | Optimized build |
-DCMAKE_BUILD_TYPE=Debug |
- | Debug symbols |
Verification¶
Run Unit Tests¶
Expected output:
Test Mock Output¶
Should output JSON with PQC fields:
System Installation (Optional)¶
Install to /usr/local/bin:
Capability Setup¶
For non-root live capture, grant network capabilities:
Verify:
Troubleshooting Installation¶
nDPI Not Found¶
If CMake cannot find nDPI:
# Check if pkg-config can find it
pkg-config --libs libndpi
# If nDPI was installed from source, set PKG_CONFIG_PATH
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
libpcap Not Found¶
# Verify libpcap installation
pkg-config --libs libpcap
# Install development package
sudo apt-get install libpcap-dev # Debian/Ubuntu
sudo dnf install libpcap-devel # RHEL/Fedora
Next Steps¶
- Quick Start - Run your first analysis