IKLAN

Mendapatkan MAC addres dari suatu interface jaringan, Ethernet card misalnya? Java (1.6 ke atas) menghadirkan metode bernama getHardwareAddress() yang disediakan oleh kelas NetworkInterface dalam paket java.net. MAC Address yang dihasilkan masih dalam bentuk array BYTE, sehingga harus dikonversi ke bentuk HEXA agar sesuai dengan standard yang selama ini berlaku.
Silakan tulis dan coba kelas MACAddress di bawah ini:
/*
* Program kecil untuk mendapatkan alamat hardware
* dari suatu interface ber-IP address.
* untuk mencoba program ini, pastikan interface aktif.
*/
package netprog2010;

import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;

public class MACAddress {

public static void main(String[] args) {
try {
InetAddress address = InetAddress.getLocalHost();
//InetAddress address = InetAddress.getByName("172.16.1.8");

//Ambil NetworkInterface dari host dan baca alamat hardware (MAC)nya
NetworkInterface ni = NetworkInterface.getByInetAddress(address);
if (ni != null) {
byte[] mac = ni.getHardwareAddress();
if (mac != null) {

//Ekstrak setiap array dari mac dan konversi ke hexa
//mengikuti format 08-00-27-DC-4A-9E.
System.out.print("MAC Address dari interface " + address + " adalah ");
for (int i = 0; i < mac.length; i++) {
System.out.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : "");
}
System.out.println();
} else {
System.out.println("Address tidak ada atau tidak dapat diakses.");
}
} else {
System.out.println("Network Interface untuk alamat tersebut tidak ditemukan.");
}
} catch (UnknownHostException e) {
//e.printStackTrace();
} catch (SocketException e) {
//e.printStackTrace();
}
}
}

0 komentar:

terjemahan

English French German Spain Italian Dutch Russian Portuguese Japanese Korean Arabic Chinese Simplified