Hallo zusammen,
bei folgendem Code erhalte ich auf mehreren Windows Rechnern für jedes Interface das durchlaufen wird für die Hardware Adresse null zurück.
Auf Mac und Linux funktioniert es.
Ich nutze java 1.6 und die Anwendung läuft in einem JBoss.
ich hoffe ihr könnt mir helfen
viele Grüße
bei folgendem Code erhalte ich auf mehreren Windows Rechnern für jedes Interface das durchlaufen wird für die Hardware Adresse null zurück.
Auf Mac und Linux funktioniert es.
Ich nutze java 1.6 und die Anwendung läuft in einem JBoss.
ich hoffe ihr könnt mir helfen
viele Grüße
Java:
private String getMac() {
try {
Enumeration<NetworkInterface> ifaces = NetworkInterface.getNetworkInterfaces();
while (ifaces.hasMoreElements()) {
NetworkInterface net = ifaces.nextElement();
byte[] byteArray = net.getHardwareAddress();
// build readable mac address
StringBuilder mac = new StringBuilder();
if (byteArray != null) {
for (int i = 0; i < byteArray.length; i++) {
mac.append(String.format((i == 0 ? "" : ":") + "%02X",
byteArray[i]));
}
Enumeration<InetAddress> addresses = net.getInetAddresses();
while (addresses.hasMoreElements()) {
InetAddress address = addresses.nextElement();
if (!address.isLoopbackAddress() && net.isUp()) {
return mac.toString();
}
}
} else
log.info("Iface :" + net.getName() + "/"
+ net.getDisplayName()
+ " HardwareAdresse(MAC) is null");
}
} catch (Exception e) {
log.warning("Mac nicht gefunden" + e.getLocalizedMessage());
}
return "empty";
}