
Visualiseur de trafic réseau axé sur les graphes pour la capture en direct et la relecture de PCAP avec comparaison de points de contrôle, traçage de chemin et filtres d'affichage de type Wireshark pour l'analyse de sécurité.
PacMap est un visualiseur de trafic réseau orienté graphe, pour la capture en direct et la relecture de PCAP, qui vous aide à voir ce qui a changé, ce qui est bruyant, et ce qu'il faut inspecter ensuite.
Considérez-le comme un Git pour le comportement réseau : capturez, différenciez et rejouez visuellement l'état du réseau.

PacMap prend en charge deux flux de travail :
.pcap ou .pcapng sauvegardé et rejouez le flux de paquets dans le temps.Depuis la racine du dépôt :
python3 -m venv venv
source venv/bin/activate
pip install websockets scapy
npm install --prefix client
Sous Windows, créez et activez un venv en utilisant votre flux de travail Python habituel, puis installez les mêmes paquets. La capture de paquets sous Windows nécessite Npcap.
Démarrez PacMap depuis la racine du dépôt :
npm start -- --iface en0
Exemples d'interfaces courantes :
en0eth0wlan0Ouvrez :
http://127.0.0.1:5176
Utilisez ensuite le panneau de contrôle pour démarrer la capture en direct.
La capture brute de paquets nécessite généralement des privilèges locaux élevés. Sur macOS/Linux :
sudo npm start -- --iface en0
Sous Windows, exécutez le terminal en tant qu'Administrateur.
Ouvrez l'application web, basculez la source vers PCAP Replay, et téléchargez un fichier .pcap ou .pcapng. Utilisez ensuite :
La relecture s'exécute dans le navigateur et ne nécessite pas que le serveur de capture Python soit en cours d'exécution.
La relecture comprend des panneaux d'investigation pour les conversations, les points d'extrémité, la ventilation des protocoles, la résolution de noms et l'activité chronologique des E/S.
Limites de fichier : 100 Mo et 100 000 paquets. Les trames non prises en charge sont ignorées et comptabilisées dans l'interface utilisateur.
Prise en charge actuelle de la relecture :
.pcap classique et .pcapng basiqueLa capture en direct et la relecture prennent en charge une barre de filtre d'affichage de type Wireshark. Saisissez un filtre et appuyez sur Entrée pour l'appliquer ; effacez le champ et appuyez sur Entrée pour le supprimer.
Syntaxe prise en charge :
tcp udp dns http arp
ip.addr == 192.168.1.10
ip.src == 10.0.0.1
ip.dst == 8.8.8.8
tcp.port == 443
udp.port == 53
port == 80
ip.src == 10.0.0.1 && ip.dst == 8.8.8.8
Les filtres composés (&&) combinent deux filtres de champ. L'application d'un filtre réduit le graphe aux nœuds et arêtes correspondants ; son effacement restaure la vue complète pour la fenêtre de capture en cours.
Un filtre composé ip.src == X && ip.dst == Y active le traçage de chemin. PacMap exécute un BFS sur l'ensemble de la capture pour trouver la chaîne de sauts entre les deux points d'extrémité. Un panneau apparaît sous le panneau de contrôle montrant chaque saut avec les comptes de paquets et d'octets par arête, et les nœuds intermédiaires sont mis en évidence dans le graphe.
Les points de contrôle capturent l'état réseau actuel — nœuds, arêtes, volumes de trafic — à un instant donné.
Les points de contrôle persistent dans localStorage sous pacmap_checkpoints (jusqu'à 50 entrées).
Les navigateurs ne peuvent pas renifler le trafic réseau hôte ni démarrer une capture de paquets privilégiée directement. PacMap utilise un assistant WebSocket Python local avec Scapy pour la capture en direct, puis diffuse les résumés de paquets vers l'application React à :
ws://127.0.0.1:8765
La relecture PCAP est différente : le navigateur lit le fichier téléchargé et réutilise la même visualisation de graphe sans nécessiter d'accès aux paquets en direct.
Frontend uniquement :
cd client
npm install
npm run dev
Build de production :
npm run build
Serveur de capture uniquement :
source venv/bin/activate
python3 server.py --iface en0
server.py n'est pas en cours d'exécution ou le port WebSocket est indisponible.ping 8.8.8.8, des requêtes DNS ou autre activité réseau.