FFI 経由で libpcap を利用する、ストリーム駆動型の PHP パケット キャプチャ ライブラリ。
可能な限り (または古いバージョンの PHP を使用している場合は)、ネイティブの pcap PHP 拡張機能を使用する必要があります。このライブラリは、選択/エッジ ケースの代替として提供されています。それ以外の場合、FFI ベースのパケット キャプチャ ライブラリはpcap
拡張機能と完全な互換性があります。その結果、拡張機能に適用されたすべての変更がここにも反映され、ライブラリのバージョンは常に対応する拡張機能と一致します。
このライブラリは PHP 7.4 で導入された機能を利用します。古いバージョンでは動作しません。もちろん、PHP FFI 拡張機能がインストールされ、有効になっている必要があります。
libpcap ライブラリはターゲット環境にインストールする必要があります。一部の Linux ディストリビューションはライブラリ命名プロトコルを干渉するため、FFI 初期化プロセスが混乱する可能性があります。その場合は、 LIBPCAP_NAME
環境変数を実際のライブラリ名に設定するか、カスタム ビルドや非標準のディレクトリ レイアウトのライブラリの .so ファイルへの絶対パスを設定することもできます。
たとえば、Debian Buster の場合、 LIBPCAP_NAME
libpcap.so.1.8.1
に設定します。
このライブラリをインストールする推奨方法は、Composer を使用することです。作曲家は初めてですか?
これにより、サポートされている最新バージョンがインストールされます。
composer require rtckit/pcap-ffi:^0.6.5
テスト スイートを実行する前に、ユーザーがネットワーク パケット (root またはCAP_NET_RAW
) をキャプチャできることを確認してください。
make test
MIT の場合は、LICENSE ファイルを参照してください。
バグ レポート (および小さなパッチ) は、問題トラッカー経由で送信できます。実質的なパッチの場合は、リポジトリをフォークしてプル リクエストを送信することをお勧めします。