Как управлять пакетами данных Android с помощью PHP?

я знаю это Android основан на Linux. Кроме того, я достаточно хорошо знаю PHP и считаю, что PHP для Linux — подходящий выбор (поправьте меня, если я ошибаюсь).

Много дней назад я столкнулся с проблемой. Проблема была и есть, как контролировать пакеты используя код PHP? Могу ли я сделать это?

Позвольте мне сказать дальше. Для подключения к сети у нас есть сетевые интерфейсы (см. / sys / class / net). В Android есть много интерфейсов, таких как wlan0 (для моего случая). Используется для таких беспроводных подключений, как WiFi и модем WiFi.

После долгих исследований я нашел команду Linux под названием дц (Traffic Control), который используется для управления сетевыми пакетами. Тем не менее, я не знаю, как использовать эту команду для управления пропускной способностью каждого подключенного устройства к моей точке доступа WiFi. Я хочу установить квоты для каждого и, если они достигнут их, я не позволю им использовать мой интернет. Я хочу использовать PHP для этой цели. Как это сделать?
(Извините, но я немного новичок в Linux!)

Примечание. Я хочу ограничить количество пользователей по MAC-адресу, а не по IP-адресу.

4

Решение

Вы можете попытаться прослушать пакеты с

$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

4

Другие решения

Благодаря @Gudgip, Я написал инструмент командной строки, который работает в Linux (также, очевидно, Android), используя мощь PHP, которая анализирует пакеты через интерфейс и сохраняет результаты в файлы. Например, вы можете увидеть, сколько данных каждый пользователь использовал из вашего WiFi. Увидеть:

https://github.com/MAChitgarha/Dej

Если вы видите проблемы, пожалуйста, откройте один. Надеюсь, это поможет кому-то!

1

По вопросам рекламы [email protected]