สตรีมไลบรารีการจับแพ็กเก็ต PHP ที่ขับเคลื่อนด้วยสตรีม ใช้ประโยชน์จาก libpcap ผ่าน FFI
เมื่อใดก็ตามที่เป็นไปได้ (หรือหากใช้ PHP เวอร์ชันเก่า) คุณควรใช้ส่วนขยาย pcap PHP ดั้งเดิม ไลบรารีนี้มีไว้เป็นทางเลือกสำหรับกรณีเลือก/ขอบ มิฉะนั้น ไลบรารีการจับแพ็กเก็ตที่ใช้ FFI จะเข้ากันได้กับส่วนขยาย pcap
อย่างสมบูรณ์ ด้วยเหตุนี้ การเปลี่ยนแปลงทั้งหมดที่ใช้กับส่วนขยายจึงจะปรากฏที่นี่เช่นกัน และเวอร์ชันไลบรารีจะตรงกับส่วนขยายเสมอ
ไลบรารีนี้ใช้คุณสมบัติต่างๆ ที่เปิดตัวใน PHP 7.4 และจะไม่ทำงานกับเวอร์ชันที่ล้าสมัย แน่นอนว่าต้องติดตั้งและเปิดใช้งานส่วนขยาย PHP FFI
ต้องติดตั้งไลบรารี libpcap บนสภาพแวดล้อมเป้าหมาย ลีนุกซ์บางรุ่นเข้าไปยุ่งกับโปรโตคอลการตั้งชื่อไลบรารี่ และอาจทำให้กระบวนการเริ่มต้น 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 โปรดดูไฟล์ลิขสิทธิ์
สามารถส่งรายงานข้อผิดพลาด (และแพทช์ขนาดเล็ก) ผ่านทางเครื่องมือติดตามปัญหา การฟอร์กพื้นที่เก็บข้อมูลและการส่งคำขอดึงเป็นที่ต้องการสำหรับแพตช์จำนวนมาก