PacMap is a graph-first network traffic visualiser that helps investigators and learners see what changed in a network, identify noisy hosts, and prioritise what to inspect next. It represents hosts and conversations as an interactive graph and focuses on exploration workflows — checkpointing, diffing, and replay — to make pattern discovery faster than scanning raw packet dumps.

pacmap demo

How it is used

PacMap supports two complementary workflows: live capture for real-time investigation and PCAP replay for post-hoc analysis. In live mode, a local helper performs packet capture and streams summaries to the browser where the graph updates in near-real time. In replay mode, the browser reads an uploaded capture and replays packet flows over a timeline so the same graph and investigation tools can be applied without needing privileged access.

Features and investigator workflow

The visualization concentrates effort on anomalies and changes. Typical workflows are:

Installation & running (summary)

The project includes a browser-based frontend and an optional local capture helper that uses Scapy. The frontend runs in a modern browser and supports PCAP replay without the helper. Live capture requires the helper and appropriate local privileges; the repository includes development instructions and a lightweight local server to bridge capture summaries into the UI.

Limitations & privacy

PacMap summarises observed packets into graph elements; it is not a full replacement for packet-level analysis in Wireshark. Large captures may be slow to replay in the browser and some link types or non-IP frames are skipped. Live capture requires elevated privileges — run with care and only on networks you own or have permission to inspect. The tool is intended for learning and investigative use on permitted networks.

Development notes

The frontend uses an interactive WebGL-based graph and a small set of investigation panels (conversations, protocol breakdowns, endpoints). The local helper streams summaries over a WebSocket; for development the UI can be run independently and fed PCAPs for fast iteration.

Troubleshooting

Tech

React + Vite · Three.js · Python WebSocket helper · Scapy