Escanear red para una dirección MAC específica – Android
Estoy diseñando una aplicación para controlar amplificadores de audio multizona. Para ello tengo que crear una conexión de socket, hasta ahora que funciona bien. Lo que me gustaría hacer es en lugar de que el usuario tenga que escribir manualmente en la dirección IP Me gustaría que mi aplicación para escanear automáticamente la red, comprobar todas las direcciones MAC coincidir con la base de datos NIC, si coincide con el corp de mi amplificador, luego guarde la dirección IP. ¿Es posible si sí cómo? ¿O hay una manera más fácil de hacerlo?
- Android 7.0 (Nougat) Doze modo detiene el servicio Web
- Cómo recordar la configuración wifi y la red conectada a través de los reinicios
- Cómo evitar el retraso en los mensajes de GCM de Android / cambio de latidos del corazón
- Fuerza de la señal de Android Wifi
- Recursos de documentación confusos de proxy de Android
- ¿Cómo conseguir la ubicación gruesa usando Wifi o GSM o GPS, lo que esté disponible?
- Cómo obtener la dirección MAC de la interfaz WIFI en android?
- Android 6.0.1 no puede habilitar wifi hotspot mediante programación
- ¿Cómo funciona la aplicación "SHAREit" Android funciona técnicamente?
- Conexión HTTPS en Wi-Fi habilitado para Android Wear sin conexión telefónica
- ¿Cómo encontrar wifi y el uso de datos de red por separado por aplicación particular en android?
- Cómo obtener la ubicación del archivo de configuración wifi en android
- Detección de red 3G o Wifi
Lo hice para mi "Network Discovery" de la aplicación como esto: Loop a través de la gama de ip, sólo ping el ip para obtener la dirección MAC, que me agarrar por el análisis de / proc / net / arp. Probablemente hay una mejor manera, pero funciona para mí.
Aquí está el escaneo de alcance: https://github.com/rorist/android-network-discovery/blob/master/src/info/lamatricexiste/network/DnsDiscovery.java inicio y final son ip addr tanto tiempo.
Y aquí está el análisis de / proc / net / arp: https://github.com/rorist/android-network-discovery/blob/master/src/info/lamatricexiste/network/Network/HardwareAddress.java#L60