rtckit/pcap-ffi

PHP通过FFI通过libpcap进行数据包捕获

0.6.5 2020-10-29 18:03 UTC

README

流驱动PHP数据包捕获库,通过FFI利用libpcap。

Build Status Latest Stable Version Maintainability License

Pcap扩展

尽可能(或在使用较旧版本的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

安装

安装此库的推荐方法是通过ComposerComposer新手?

这将安装最新的支持版本

composer require rtckit/pcap-ffi:^0.6.5

测试

在运行测试套件之前,请确保用户有捕获网络数据包的能力(root或CAP_NET_RAW)。

make test

许可证

MIT,请参阅LICENSE文件

致谢

  • libpcap由Tcpdump Group提供,BSD许可。

贡献

可以通过问题跟踪器提交错误报告(和小的补丁)。对于重大补丁,更喜欢通过仓库分支和提交拉取请求。