martedì 24 agosto 2010

Mac address in Java

Con Java 6 è possibile ottenere anche il mac address di una scheda di rete (valore non ottenibile con Java 5 e precedenti).

Il codice è molto semplice:
con il metodo
java.net.NetworkInterface.getNetworkInterfaces();
si ottiene una Enumeration di tutte le interfacce di rete del sistema, la classe NetworkInterface presenta un metodo getHardwareAddress() che restituisce un array di byte corrispondente ad un generico indirizzo fisico della scheda (che corrisponde al mac address nel caso di schede ethernet).
Tale array può:
  • essere a null nel caso di interfacce di rete particolari come quella di loop (individuabile anche tramite il metodo isLoopback() ) o altre fittizie
  • avere esattamente 6 byte per le schede di rete
  • avere lunghezza diversa da 6 byte per altre interfacce non ethernet (es. Firewire ha 8 byte).

Il metodo byte2String trasforma l'array in una stringa nella tipica notazione esadecimale con i ":".

Post correlati:
Mac address in Java: codice d'esempio

Nessun commento:

Posta un commento