如何用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
如果您发现问题,请打开一个。希望对大家有帮助!
我知道 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
如果您发现问题,请打开一个。希望对大家有帮助!