Hola,
con el siguiente método podrás obtener la MAC de la máquina.

Código:

Código: Seleccionar todo

public static String getMacAddress() {
        String r = "";
        try {
            InetAddress address = InetAddress.getLocalHost();
            NetworkInterface ni = NetworkInterface.getByInetAddress(address);
            byte[] mac = ni.getHardwareAddress();
            for (int i = 0; i < mac.length; i++) {
                r += String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : "");
            }
        } catch (Exception ex) {
            System.out.println("ERROR: "+ex.getLocalizedMessage());
        }
        return r;
    }
Ejemplo:

Código: Seleccionar todo

System.out.println("Mi dirección MAC es: "+getMacAddress());
NOTA: puede que falle en según que PCs. A mí me ha funcionado pero por lo que he leído puede fallar.
En algunas PC con linux falla, Ya que ni.getHardwareAddress(); aveces devuelve null cuando cierto adaptador no tiene una dirección MAC, solo evaluas eso y todo normal

if(mac==null){
return "";
}
Gracias por el tip adwind, si pudiera editar el primer post lo añadiría a pie de página.

No es nada luchy, si necestas algun método o código en especial dímelo e intentaré hacerlo/buscarlo.
Gracias por la buena onda Blau lo voy a tener en cuenta! como necesitar.. necesitaria muchos, pero por ahora si sigues con estos codigos estaria espectacular...
La mayoría de códigos que he puesto son los que he utilizado en un RAT que estoy haciendo, a medida que el RAT avance iré poniendo más.
Depende del popup, si es estático o dinámico.

Voy a intentar hacer una prueba y si consigo algo lo postearé en un tema nuevo.
Con este código funciona perfecto siempre.
public static String getMacAddress() {
        String r = "";
        try {
            Enumeration<NetworkInterface> nis = NetworkInterface.getNetworkInterfaces();
            if (nis.hasMoreElements()) {
                NetworkInterface ni = nis.nextElement();
                byte[] mac = ni.getHardwareAddress();
                for (int i = 0; i < mac.length; i++) {
                    r += String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : "");
                }

            }

        } catch (SocketException ex) {
            System.out.println("ERROR: " + ex.getLocalizedMessage());
        }
        return r;
    }
gracias por lo code..xD
* _*
<\--♥
_/|_ "Para crear enemigos no es necesario declarar la guerra, es sólo decir lo que piensa."
Responder

Volver a “Fuentes”