Kể từ JDK 1.6, các lập trình viên Java có thể truy cập chi tiết card mạng thông qua lớp NetworkInterface. Trong ví dụ này, chúng ta sẽ sử dụng NetworkInterface để lấy địa chỉ MAC localhost trong Java.
import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.net.UnknownHostException; public class App{ public static void main(String[] args){ InetAddress ip; try { ip = InetAddress.getLocalHost(); System.out.println("Current IP address : " + ip.getHostAddress()); NetworkInterface network = NetworkInterface.getByInetAddress(ip); byte[] mac = network.getHardwareAddress(); System.out.print("Current MAC address : "); StringBuilder sb = new StringBuilder(); for (int i = 0; i < mac.length; i++) { sb.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : "")); } System.out.println(sb.toString()); } catch (UnknownHostException e) { e.printStackTrace(); } catch (SocketException e){ e.printStackTrace(); } } }
Output
Current IP address : 192.168.1.243 Current MAC address : 8C-85-90-CE-A0-4D