مكتبة التقاط حزم PHP المدفوعة بالتدفق، مع الاستفادة من libpcap عبر FFI.
كلما كان ذلك ممكنًا (أو إذا كنت تستخدم إصدارًا أقدم من 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
قبل تشغيل مجموعة الاختبار، تأكد من أن المستخدم لديه القدرة على التقاط حزم الشبكة (الجذر أو CAP_NET_RAW
).
make test
معهد ماساتشوستس للتكنولوجيا، راجع ملف الترخيص.
يمكن إرسال تقارير الأخطاء (والتصحيحات الصغيرة) عبر أداة تعقب المشكلات. يُفضل تفرع المستودع وإرسال طلب السحب للتصحيحات الكبيرة.