Как обнаружить все устройства, подключенные в сети WiFi от приложения Android
Я разрабатываю приложение, в котором мне нужно сканировать сеть WiFi и отображать список всех подключенных устройств.
Разрешить использование, чтобы использовать устройство, и приложение должно показать всю информацию об оборудовании этого конкретного устройства. Здесь аппаратными средствами я имею в виду: ОЗУ, носители, емкость, имя устройства, IP-адрес устройства и т.д.
Теперь это устройство может быть любым, например, xbox, ноутбуком с Linux/Windows, мобильным телефоном, например iPhone или любым смартфоном на базе Andorid или даже с принтером.
Как сканировать сеть Wi-Fi и запрашивать/обнаруживать все подключенные к ней устройства?
Каковы протоколы, которые мне нужно использовать для получения списка аппаратных средств на определенном устройстве, независимо от ОС, запущенной на нем?
ТИА
Йоги Ян
Ответы
Ответ 1
Возможно, проект Network Discovery github может помочь вам. В нем перечислены все пользователи, подключенные к WiFi с IP и MAC-адресами, и собирает даже некоторую информацию, такую как открытые порты, имя устройства, пинг и т.д.
Надеюсь, что это поможет.
Ответ 2
Отметьте requestPeers
WifiP2pManager
Согласно документам, он ищет
PeerListListener, который возвращает WifiP2pDeviceList содержащий список WifiP2pDevice, который содержит deviceAddress, deviceName, primaryDeviceType, secondaryDeviceType, статус и другие атрибуты.