Bibliothèque de capture de paquets PHP pilotée par flux, exploitant libpcap via FFI.
Dans la mesure du possible (ou si vous utilisez une ancienne version de PHP), vous devez utiliser l'extension PHP native pcap, cette bibliothèque est fournie comme alternative pour les cas sélectionnés/edge. Sinon, la bibliothèque de capture de paquets basée sur FFI est entièrement compatible avec l'extension pcap
. Par conséquent, toutes les modifications appliquées à l’extension sont également reflétées ici et la version de la bibliothèque correspondra toujours à son homologue de l’extension.
Cette bibliothèque utilise des fonctionnalités introduites à partir de PHP 7.4, elle ne fonctionnera pas avec des versions obsolètes. Bien entendu, l'extension PHP FFI doit être installée et activée.
La bibliothèque libpcap doit être installée sur l'environnement cible ; certaines distributions Linux interfèrent avec les protocoles de dénomination des bibliothèques, ce qui peut perturber le processus d'initialisation FFI. Si tel est le cas, on peut définir la variable d'environnement LIBPCAP_NAME
sur le nom réel de la bibliothèque, ou même sur le chemin absolu du fichier .so de la bibliothèque pour les versions personnalisées ou les présentations de répertoires non standard.
Par exemple, pour Debian Buster, on définirait LIBPCAP_NAME
sur libpcap.so.1.8.1
.
La méthode recommandée pour installer cette bibliothèque consiste à utiliser Composer. Nouveau sur Composer ?
Cela installera la dernière version prise en charge :
composer require rtckit/pcap-ffi:^0.6.5
Avant d'exécuter la suite de tests, assurez-vous que l'utilisateur a la possibilité de capturer les paquets réseau (root ou CAP_NET_RAW
).
make test
MIT, voir fichier LICENSE.
Les rapports de bogues (et les petits correctifs) peuvent être soumis via le système de suivi des problèmes. Il est préférable de bifurquer le référentiel et de soumettre une Pull Request pour les correctifs importants.