|
Модераторы: LSD, AntonSaburov |
|
allsolovey |
|
|||
Empty Профиль Группа: Участник Сообщений: 29 Регистрация: 3.1.2008 Репутация: нет Всего: нет |
всем привет!
Входные данные: Android 11 и выше. Как получить список устройств (IP), подключенных к моей WIFI точке доступа (поднята на этом же телефоне)? Я пробовал этим методом
Он работает на Android 10 и ниже. Когда я запускаю на Android 11 - ошибка java.io.FileNotFoundException: /proc/net/arp: open failed: EACCES (Permission denied) С помощью гугла я нашел On devices that run Android 10 or higher, apps cannot access /proc/net, which includes information about a device's network state. Apps that need access to this information, such as VPNs, should use the NetworkStatsManager or ConnectivityManager class. Читал docs но так и не понял как это делать. это вообще сейчас возможно? Это сообщение отредактировал(а) allsolovey - 22.12.2021, 10:26 |
|||
|
||||
Старовъръ |
|
|||
Опытный Профиль Группа: Участник Сообщений: 491 Регистрация: 8.5.2008 Репутация: нет Всего: 10 |
Только сам маршрутизатор может знать какие устройства к нему подключены. ARP - это протокол определения MAC адреса по IP адресу. Т.е. когда ты хочешь послать запрос на какой-то IP адрес в своей локальной сети, твоя ОС сначала должна определить на какой MAC слать пакеты. Для этого она шлет IP адрес твоей wifi точке, а та в ответ пришлет MAC устройства.
В ARP таблице (по сути это кеш чтоб каждый раз не ходить в сеть) хранится список IP & MAC адресов твоей локальной сети с которыми ты недавно общался. Т.е. по сути чтоб в этой таблице оказались все устройства локальной сети тебе сначала нужно послать по запросу на каждый возможный IP адрес. Так конечно делать не надо и в итоге остановимся на том что это невозможно. -------------------- |
|||
|
||||
allsolovey |
|
|||
Empty Профиль Группа: Участник Сообщений: 29 Регистрация: 3.1.2008 Репутация: нет Всего: нет |
Спасибо за ответ! Но моя точка WIFI находится на этом же телефоне. Я сам ее поднял, ко мне подключились еще 2 телефона. мне нужно знать их ip...
на ANDROID ниже 10 я получал таблицу ARP в android так:
|
|||
|
||||
allsolovey |
|
|||
Empty Профиль Группа: Участник Сообщений: 29 Регистрация: 3.1.2008 Репутация: нет Всего: нет |
Вот что еще нашел... Скорее всего сейчас это unreal
Текущий APIs в Android не позволяет приложениям получать доступ к кэшу ARP. Я вижу, что в Google issue tracker была даже создана задача, которая в настоящее время находится в следующем состоянии - https://issuetracker.google.com/issues/130103885 Статус: не исправится (неосуществимо ) Мы передали ваш вклад нашим внутренним командам, которые оценивают его для будущего выпуска. Мы закрываем этот вопрос на данный момент, и спасибо, что прислали нам свой отзыв!" Это сообщение отредактировал(а) allsolovey - 22.12.2021, 10:38 |
|||
|
||||
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Работа с сетью | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |