PacMan is a real-time, non-intrusive network packet analyzer and threat detection dashboard.
199
High-Performance Network Security Monitor & Terminal Cyber Dashboard ("htop for network packets")
📖 Click here to view the Full Quickstart Guide →
PacMan is a real-time, non-intrusive network packet analyzer and threat detection dashboard for Linux and macOS. It functions as an "htop for network packets", providing deep visibility into live network interfaces or offline .pcap capture files without introducing latency, blocking traffic, or kernel hooks.
🖥️ Rich 13-Tab FTXUI Terminal Dashboard:
ESTAB, SYN, FIN, RST), session duration, and byte volume.[!]) and ranking Top Talkers / Top Domains.🔍 Deep Packet Inspection (DPI) & Hostname Extraction:
🛡️ Rule-Based Threat Detection:
🌐 Interactive Interface Selector:
pcap_findalldevs) displaying UP/DOWN status, IPv4 addresses, and interface types ([wifi], [ethernet], [loopback]).📊 Offline PCAP Analysis & HTML/CSV Reporting:
.pcap capture files and generates structured CSV and interactive HTML reports in reports/.🐳 Full Containerization:
--net=host) and container bridge inspection.💡 Primary Target Platform: PacMan was engineered and extensively tested on Fedora 43 — if you run Fedora 43, it will work flawlessly out-of-the-box!
| OS / Environment | Status | Details |
|---|---|---|
| 🐧 Linux | FULL | Fedora (Primary target), RHEL, CentOS, Ubuntu, Debian, Arch, Alpine |
| 🍎 macOS | FULL | Native support via Homebrew dependencies (libpcap, cmake) |
| 🪟 Windows | PARTIAL | Offline PCAP analysis supported; Live mode via WSL2 |
| 🐳 Docker | FULL | Containerized runtime supporting Docker Compose & Docker CLI |
| ⚡ Architectures | FULL | x86_64, arm64 (Raspberry Pi, Apple Silicon, Cloud VMs) |
git clone https://github.com/gaganrathod18/pacman.git
cd pacman
sudo apt-get update
sudo apt-get install -y cmake g++ git make libpcap-dev libcurl4-openssl-dev
sudo dnf install -y cmake gcc-c++ git make libpcap-devel libcurl-devel
sudo pacman -S cmake gcc git make libpcap curl
brew install cmake libpcap curl
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cd build && make -j4 2>&1 | tail -5
# Sudo required for raw socket capture
sudo ./build/pacman live config/pacman.conf
./build/pacman analyze pcaps/test_dpi.pcap config/pacman.conf
Official Image: gaganrathod18/pacman
# 1. Pull latest image from Docker Hub
docker pull gaganrathod18/pacman:latest
# 2. Run live interactive dashboard
docker run -it --rm --net=host --cap-add=NET_RAW --cap-add=NET_ADMIN gaganrathod18/pacman:latest live config/pacman.conf
# 3. Run offline PCAP analysis
docker run -it --rm gaganrathod18/pacman:latest analyze pcaps/test_dpi.pcap config/pacman.conf
# Live host network capture
docker compose run --rm pacman-live
# Offline PCAP analysis
docker compose run --rm pacman-analyze
📖 For full installation details, global setup, and hotkeys, check QUICKSTART.md.
┌─────────────────────────────────────────────────────────────┐
│ [← / →] Navigate between 13 dashboard panels │
│ [↑ / ↓] / [k/j] Scroll flows and log stream tables │
│ [Q] / [Esc] Quit and exit dashboard │
└─────────────────────────────────────────────────────────────┘
config/pacman.conf)Key settings in config/pacman.conf:
interface: Capture interface name (default: any or chosen interactively).refresh_ms: Terminal UI refresh rate in milliseconds (default: 400).high_connection_threshold: Connection count alert trigger (default: 50).port_scan_threshold: Unique ports alert trigger (default: 15).virus_total_api_key: Optional API key for automated malicious domain reputation lookups.Distributed under the MIT License.
Content type
Image
Digest
sha256:6d916c165…
Size
6.7 MB
Last updated
2 months ago
docker pull gaganrathod18/pacman