如何用PHP控制Android个数据包?

How to control Android data packets using PHP?

我知道 Android is based on Linux。另外,我对 PHP 相当了解,我认为 PHP 对于 Linux 是一个合适的选择(如果我错了请纠正我)。

很多天前,我遇到了一个问题。问题是,如何使用 PHP 代码控制 packets?我可以这样做吗?

再来说说吧。要连接到网络,我们有 network interfaces(参见 /sys/class/net)。在Android中有很多接口,比如wlan0(我的例子)。用于WiFi和WiFi网络共享等无线连接。

经过大量研究,我找到了一个名为tc(流量控制)的Linux命令,用于控制网络数据包。但是,我真的不知道如何使用该命令来控制每个连接设备到我的 WiFi 热点的带宽。我想为每个人设置配额,如果达到配额,我会阻止他们使用我的互联网。为此,我想使用 PHP。怎么做? (抱歉,我对 Linux 有点陌生!)

注意:我想通过 MAC 地址限制我的用户,而不是 IP 地址。

您可以尝试使用

嗅探包
$socket = socket_create(AF_INET , SOCK_RAW , SOL_TCP);  

这里有一份包含更多信息的指南:https://www.binarytides.com/code-a-packet-sniffer-in-php/

或者您可以使用以下 PHP 库: https://github.com/marcelog/SimplePcap

这是他们 github 存储库中的示例: https://github.com/marcelog/SimplePcap/blob/master/example/sniff.php

感谢 @Gudgip,我编写了一个命令行工具,它使用 PHP 的强大功能在 Linux(显然也是 Android)上运行通过接口发送数据包并将结果保存到文件中。例如,您可以查看每个用户从您的 WiFi 使用了多少数据。参见:

https://github.com/machitgarha/dej

如果您发现问题,请打开一个。希望对大家有帮助!