Initial vault setup
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
---
|
||||
title: MagicPack
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, networking, monitoring, packet-capture, python]
|
||||
confidence: medium
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/?tag=networking, https://github.com/magicstack/magicpack]
|
||||
---
|
||||
|
||||
# MagicPack 🪄
|
||||
|
||||
> Outil Python expérimental d'analyse de paquets réseau en continu, avec détection d'anomalies simple et dashboard léger.
|
||||
|
||||
| Métadonnée | Valeur |
|
||||
| :--- | :--- |
|
||||
| **Site web** | https://github.com/magicstack/magicpack |
|
||||
| **GitHub** | https://github.com/magicstack/magicpack |
|
||||
| **License** | MIT |
|
||||
| **Langage** | Python (Scapy) |
|
||||
| **Étoiles** | 1 ⭐ |
|
||||
| **Dernière MAJ** | 2023 |
|
||||
| **Catégorie** | [[cat-networking]] |
|
||||
|
||||
## Description
|
||||
|
||||
**MagicPack** est une expérience Python pour faire de la **capture et analyse de paquets en temps réel** sur une interface réseau locale. L'outil s'appuie sur **Scapy** (la bibliothèque de référence en Python pour le réseau bas-niveau) et offre un petit dashboard web (Flask) qui affiche, en direct, le trafic observé : distribution par protocole, top sources/destinations, flux dominants, et règles de détection d'anomalies basiques.
|
||||
|
||||
L'idée est de fournir un équivalent léger de **Wireshark + Zeek** sans la complexité d'indexation et de stockage longue durée. C'est un outil de **détection ponctuelle** (« qu'est-ce qui passe sur mon réseau en ce moment ? »), pas de l'observabilité long-terme. Il peut être utile pour :
|
||||
|
||||
- Diagnostiquer un réseau domestique qui «rame»
|
||||
- Vérifier la présence d'appareils inattendus
|
||||
- Comprendre la répartition du trafic IoT
|
||||
- Apprendre le fonctionnement de TCP/IP de manière visuelle
|
||||
|
||||
Le projet est très jeune (1 étoile, peu de releases) et doit être considéré comme **expérimental** : l'API peut changer, les performances sont limitées par Scapy (pas adapté au 10 Gbps), et la doc est minimale. À réserver à du labo ou de la pédagogie, pas à de la production.
|
||||
|
||||
## Installation
|
||||
|
||||
### Docker Compose
|
||||
|
||||
```yaml
|
||||
services:
|
||||
magicpack:
|
||||
image: ghcr.io/magicstack/magicpack:latest
|
||||
container_name: magicpack
|
||||
restart: unless-stopped
|
||||
network_mode: host # nécessaire pour voir le trafic réel
|
||||
cap_add:
|
||||
- NET_RAW
|
||||
environment:
|
||||
- INTERFACE=eth0
|
||||
- TZ=Europe/Paris
|
||||
ports:
|
||||
- "8090:5000"
|
||||
```
|
||||
|
||||
> ⚠️ `network_mode: host` + `NET_RAW` est requis pour la capture de paquets : c'est **inévitable** pour ce type d'outil.
|
||||
|
||||
### Manuelle (Python)
|
||||
|
||||
```bash
|
||||
git clone https://github.com/magicstack/magicpack.git
|
||||
cd magicpack
|
||||
python3 -m venv venv && source venv/bin/activate
|
||||
pip install -r requirements.txt
|
||||
sudo python app.py --interface eth0
|
||||
# (sudo nécessaire pour raw socket)
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
- Choisir l'interface à écouter (`eth0`, `wlan0`, `br-lan` sur OpenWrt, etc.)
|
||||
- Définir un filtre BPF optionnel : `--filter "port not 22 and not host 192.168.1.1"`
|
||||
- Régler la fenêtre de rétention en mémoire (défaut : 5 minutes)
|
||||
- Activer ou non le log PCAP rotatif pour analyse post-mortem
|
||||
|
||||
## Alternatives
|
||||
|
||||
- **Open Source** : [Wireshark](https://www.wireshark.org/) (le standard GUI), [Zeek](https://github.com/zeek/zeek) (analyse réseau profonde), [ntopng](https://github.com/ntop/ntopng) (flow-based, plus mature), [tcpdump](https://github.com/the-tcpdump-group/tcpdump) (CLI)
|
||||
- **Web-based** : [Malcolm](https://github.com/cisagov/Malcolm) (suite complète Zeek+Arkime), [Arkime](https://github.com/arkime/arkime) (capture full-packet avec UI web)
|
||||
- **Propriétaire** : SolarWinds NetFlow, ExtraHop, Darktrace (hors budget et hors philosophie self-host)
|
||||
|
||||
## Sécurité
|
||||
|
||||
- **Permissions élevées** : `NET_RAW` est l'équivalent d'un sniffer — n'importe qui peut capturer des mots de passe en clair. Limiter l'accès à l'hôte.
|
||||
- **Données sensibles** : les paquets capturés contiennent des credentials HTTP, des cookies, des métadonnées personnelles. Chiffrer le volume de stockage, ne **jamais** exposer le dashboard publiquement.
|
||||
- **Légalité** : la capture de paquets sur un réseau qui n'est pas le vôtre est **illégale** dans la plupart des juridictions.
|
||||
- **Expérimental** : projet à 1 étoile, ne pas utiliser pour des diagnostics critiques.
|
||||
|
||||
## Ressources
|
||||
|
||||
- [selfh.st — Networking](https://selfh.st/apps/?tag=networking)
|
||||
- [GitHub magicstack/magicpack](https://github.com/magicstack/magicpack)
|
||||
- [Scapy documentation](https://scapy.net/)
|
||||
|
||||
## Pages Liées
|
||||
|
||||
- [[cat-networking]]
|
||||
- [[recettes-docker-compose]]
|
||||
- [[app-uptime-kuma]] — monitoring de services
|
||||
Reference in New Issue
Block a user