代码之家  ›  专栏  ›  技术社区  ›  MAChitgarha

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

  •  4
  • MAChitgarha  · 技术社区  · 7 年前

    我知道 Android is based on Linux . 此外,我对PHP非常了解,我认为PHP for Linux是一个合适的选择(如果我错了,请纠正我)。

    许多天前,我遇到了一个问题。过去和现在的问题是,如何控制 packets 使用PHP代码?我可以这样做吗?

    让我进一步说。要连接到网络,我们必须 network interfaces (参见 /sys/class/net ). 在Android中,有许多接口,例如 wlan0 (对于我的情况)。它用于WiFi和WiFi连接等无线连接。

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

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

    2 回复  |  直到 5 年前
        1
  •  4
  •   sridesmet    7 年前

    您可以尝试使用

    $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

        2
  •  1
  •   MAChitgarha    4 年前

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

    https://github.com/machitgarha/dej

    如果您看到问题,请打开一个。希望它能帮助别人!