Gettind una dirección MAC de un dispositivo de acuerdo con IP

JexSrs:

Bueno, en mi aplicación que utilizo algo de código para descubrir todos los dispositivos accesibles en la red local. Ahora quiero obtener la dirección MAC del dispositivo utilizando la dirección IP local

Quiero algo como esto: getMacAddress("192.168.1.23")

public static String getMacAddress(String ip)
{
    String macAddress = ...
    return macAddress;
}

He encontrado esto, pero no estoy seguro si puedo usarlo fro todos los dispositivos de LAN, en caso afirmativo, cómo lo voy a utilizar con la dirección IP de encargo?

 WifiManager manager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
 WifiInfo info = manager.getConnectionInfo();
 String address = info.getMacAddress();
Martin Zeitler:

/proc/net/arpes el local de ARPcaché, que al menos se ha almacenado en caché entradas (que puede estar fuera de línea).

protected String getMacAddress(String ipAddress) {
    try {
        BufferedReader br = new BufferedReader(new FileReader(new File("/proc/net/arp")));
        String line;
        while((line = br.readLine()) != null) {
            if(line.contains(ipAddress)) {
                /* this string still would need to be sanitized */
                return line;
            }
        }
        System.out.println(output);
    } catch (IOException e) {
        e.printStackTrace();
    }
    return null;
}

Alternativamente, se podría escanear todo el segmento de red local -

o recuperar la ARPmemoria caché de un router de red local.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=197540&siteId=1
Recomendado
Clasificación