MAC-Adressen auslesen

Die MAC-Adresse (von Media-Access-Control) ist eine (im Idealfall) eindeutige Adresse eines Netzwerkgeräts. MAC-Adressen sind für Ethernet-Verbindungen essenziell, da auf der physikalischen Übertragungsebene Signale zu einer gewünschten Netzwerkkarte aufgebaut werden. Wegen der Eindeutigkeit eignen sie sich gut als Schlüssel, und es ist interessant, auch in Java diese Adresse auszulesen. Das geht mit der Klasse NetworkInterface recht unkompliziert. Alle lokale Netzwerkschnittstellen liefert NetworkInterface.getNetworkInterfaces(), ist die IP-Adresse bekannt, können wir NetworkInterface.getByInetAddress(InetAddress) nutzen.

for ( NetworkInterface ni : Collections.list( NetworkInterface.getNetworkInterfaces() ) ) {
  byte[] adr = ni.getHardwareAddress();
  if ( adr == null || adr.length != 6 )
    continue;
  String mac = String.format( "%02X:%02X:%02X:%02X:%02X:%02X",
                                    adr[0], adr[1], adr[2], adr[3], adr[4], adr[5] );
  System.out.println( mac );
}

Auf der Windows Kommandozeile liefert ipconfig /all alle MAC-Adressen, die dort „physikalische Adresse” heißen.

Ähnliche Beiträge

Veröffentlicht in Insel

2 Gedanken zu “MAC-Adressen auslesen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert