я знаю это Android основан на Linux. Кроме того, я достаточно хорошо знаю PHP и считаю, что PHP для Linux — подходящий выбор (поправьте меня, если я ошибаюсь).
Много дней назад я столкнулся с проблемой. Проблема была и есть, как контролировать пакеты используя код PHP? Могу ли я сделать это?
Позвольте мне сказать дальше. Для подключения к сети у нас есть сетевые интерфейсы (см. / sys / class / net). В Android есть много интерфейсов, таких как wlan0 (для моего случая). Используется для таких беспроводных подключений, как WiFi и модем WiFi.
После долгих исследований я нашел команду Linux под названием дц (Traffic Control), который используется для управления сетевыми пакетами. Тем не менее, я не знаю, как использовать эту команду для управления пропускной способностью каждого подключенного устройства к моей точке доступа 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, Я написал инструмент командной строки, который работает в Linux (также, очевидно, Android), используя мощь PHP, которая анализирует пакеты через интерфейс и сохраняет результаты в файлы. Например, вы можете увидеть, сколько данных каждый пользователь использовал из вашего WiFi. Увидеть:
https://github.com/MAChitgarha/Dej
Если вы видите проблемы, пожалуйста, откройте один. Надеюсь, это поможет кому-то!