Wie lese ich die MAC-Adresse in Java aus? Dies ist ganz einfach und funktioniert sowohl unter Linux als auch unter Windows und MAC OS X.
Zuerst müssen wir durch die NIC Adapter durchloopen um festzustellen welcher kein LOOPBACK ist. Der LOOPBACK Adapter ist der eigene PC und besitzt keine MAC-Adresse.
Danach ist es mit NetworkInterface ziemlich einfach die MAC-Adresse rauszufinden.
import java.net.NetworkInterface;
import java.util.Collections;
public class NetworkUtil {
public static String getMacAddress() throws Exception {
String result = "";
try {
for (NetworkInterface ni : Collections.list(
NetworkInterface.getNetworkInterfaces())) {
byte[] hardwareAddress = ni.getHardwareAddress();
if (hardwareAddress != null) {
for (int i = 0; i < hardwareAddress.length; i++) {
result += String.format((i == 0 ? "" : "") + "%02X", hardwareAddress[i]);
}
if (result.length() > 0 && !ni.isLoopback()) { return result; }
}
}
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
}
Kommentar verfassen