Stream-gesteuerte PHP-Paketerfassungsbibliothek, die libpcap über FFI nutzt.
Wann immer möglich (oder wenn Sie eine ältere Version von PHP verwenden), sollten Sie die native pcap-PHP-Erweiterung verwenden. Diese Bibliothek wird als Alternative dazu für Select/Edge-Fälle bereitgestellt. Ansonsten ist die FFI-basierte Paketerfassungsbibliothek vollständig mit der pcap
Erweiterung kompatibel. Dadurch werden alle an der Erweiterung vorgenommenen Änderungen auch hier widergespiegelt und die Bibliotheksversion stimmt immer mit dem Gegenstück der Erweiterung überein.
Diese Bibliothek nutzt die ab PHP 7.4 eingeführten Funktionen und funktioniert nicht mit veralteten Versionen. Natürlich muss die PHP-FFI-Erweiterung installiert und aktiviert sein.
Die libpcap-Bibliothek muss in der Zielumgebung installiert sein; Einige Linux-Distributionen mischen sich in die Benennungsprotokolle der Bibliotheken ein, was den FFI-Initialisierungsprozess verwirren kann. Sollte dies der Fall sein, kann man die Umgebungsvariable LIBPCAP_NAME
auf den tatsächlichen Bibliotheksnamen oder sogar auf den absoluten Pfad zur .so-Datei der Bibliothek für benutzerdefinierte Builds oder nicht standardmäßige Verzeichnislayouts setzen.
Für Debian Buster würde man beispielsweise LIBPCAP_NAME
auf libpcap.so.1.8.1
setzen.
Die empfohlene Methode zur Installation dieser Bibliothek ist Composer. Neu bei Composer?
Dadurch wird die neueste unterstützte Version installiert:
composer require rtckit/pcap-ffi:^0.6.5
Stellen Sie vor dem Ausführen der Testsuite sicher, dass der Benutzer Netzwerkpakete erfassen kann (Root oder CAP_NET_RAW
).
make test
MIT, siehe LICENSE-Datei.
Fehlerberichte (und kleine Patches) können über den Issue-Tracker eingereicht werden. Für umfangreiche Patches wird das Forken des Repositorys und das Senden einer Pull-Anfrage bevorzugt.