
⭐ ⭐ Distributed tcpdump pour environnements cloud natifs ⭐ ⭐
Deepfence PacketStreamer est un outil de capture et de collecte de paquets à distance haute performance. Il est utilisé par la plateforme d'observabilité de sécurité ThreatStryker de Deepfence pour recueillir le trafic réseau à la demande depuis les charges de travail cloud à des fins d'analyse forensique.
Objectifs de conception principaux :
Les capteurs PacketStreamer sont lancés sur les serveurs cibles. Les capteurs capturent le trafic, appliquent des filtres, puis diffusent le trafic vers un récepteur central. Les flux de trafic peuvent être compressés et/ou chiffrés via TLS.
Le récepteur PacketStreamer accepte les flux PacketStreamer provenant de plusieurs capteurs distants et écrit les paquets dans un fichier de capture pcap local

Les capteurs PacketStreamer collectent les paquets réseau bruts sur des hôtes distants. Ils sélectionnent les paquets à capturer à l'aide d'un filtre BPF et les transmettent à un processus récepteur central où ils sont écrits au format pcap. Les capteurs sont très légers et ont peu d'impact sur les performances des hôtes distants. Les capteurs PacketStreamer peuvent être exécutés sur des serveurs nus, sur des hôtes Docker et sur des nœuds Kubernetes.
Le récepteur PacketStreamer accepte le trafic réseau de plusieurs capteurs, le collectant dans un seul fichier pcap central. Vous pouvez ensuite traiter le fichier pcap ou alimenter en direct le trafic vers l'outil de votre choix, tel que Zeek, Wireshark, Suricata, ou comme flux en direct pour des modèles d'apprentissage automatique.
PacketStreamer répond à des cas d'utilisation plus généraux que les alternatives existantes. Par exemple, utilisez PacketStreamer si vous avez besoin d'une méthode légère et efficace pour collecter des données réseau brutes depuis plusieurs machines à des fins de journalisation et d'analyse centralisées.
Pour des instructions complètes, consultez la documentation PacketStreamer.
Vous devrez installer la chaîne d'outils golang et libpcap-dev avant de construire PacketStreamer.
# Prérequis (Ubuntu) : sudo apt install golang-go libpcap-dev
git clone https://github.com/deepfence/PacketStreamer.git
cd PacketStreamer/
make
Exécutez un récepteur PacketStreamer, écoutant sur le port 8081 et écrivant la sortie pcap dans /tmp/dump_file (voir receiver.yaml) :
./packetstreamer receiver --config ./contrib/config/receiver.yaml
Exécutez un ou plusieurs capteurs PacketStreamer sur des hôtes locaux et distants. Modifiez l'adresse du serveur dans sensor.yaml :
# exécuter sur les hôtes cibles pour capturer et transférer le trafic
# copier et modifier l'exemple de fichier sensor-local.yaml, et ajouter l'adresse de l'hôte récepteur
cp ./contrib/config/sensor-local.yaml ./contrib/config/sensor.yaml
./packetstreamer sensor --config ./contrib/config/sensor.yaml
Merci d'utiliser PacketStreamer.
Pour tout problème lié à la sécurité dans le projet PacketStreamer, contactez productsecurity at deepfence dot io.
Veuillez ouvrir les tickets GitHub selon les besoins et rejoignez le canal Slack de la communauté Deepfence Slack channel.
Le projet Deepfence PacketStreamer (ce dépôt) est proposé sous licence Apache2.
Les contributions au projet Deepfence PacketStreamer sont également acceptées sous licence Apache2, conformément à la politique inbound=outbound de GitHub.