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를 처음 사용하시나요?
그러면 지원되는 최신 버전이 설치됩니다.
composer require rtckit/pcap-ffi:^0.6.5
테스트 스위트를 실행하기 전에 사용자가 네트워크 패킷(루트 또는 CAP_NET_RAW
)을 캡처할 수 있는지 확인하십시오.
make test
MIT, LICENSE 파일을 참조하세요.
버그 보고서(및 작은 패치)는 이슈 트래커를 통해 제출할 수 있습니다. 실질적인 패치를 위해서는 저장소를 포크하고 풀 요청을 제출하는 것이 좋습니다.