Java Program to Get Physical or MAC Address of Windows and Linux Machine

You are currently viewing Java Program to Get Physical or MAC Address of Windows and Linux Machine

If you want to understand the concept of “Java Program to Get Physical or MAC Address of Windows and Linux Machine” then you are in the perfect tutorial. Let’s start the tutorial to learn about it.

Java Program to Get Physical or MAC Address of Windows and Linux Machine

main.java

// Java program to access the MAC address of the
// localhost machine
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.Enumeration;
public class MACAddress {

    // method to get the MAC Address
    void getMAC(InetAddress addr) throws SocketException
    {
        // create a variable of type NetworkInterface and
        // assign it with the value returned by the
        // getByInetAddress() method
        NetworkInterface iface
            = NetworkInterface.getByInetAddress(addr);

        // create a byte array and store the value returned
        // by the NetworkInterface.getHardwareAddress()
        // method
        byte[] mac = iface.getHardwareAddress();
        
        // convert the obtained byte array into a printable
        // String
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < mac.length; i++) {
            sb.append(String.format(
                "%02X%s", mac[i],
                (i < mac.length - 1) ? "-" : ""));
        }
        
        // print the final String containing the MAC Address
        System.out.println(sb.toString());
    }

    // Driver method
    public static void main(String[] args) throws Exception
    {
        // a variable of type InetAddress to store the
        // address of the local host
        InetAddress addr = InetAddress.getLocalHost();
        
        // instantiate the MACAddress class
        MACAddress obj = new MACAddress();
        System.out.print("MAC Address of the system : ");
        
        // call the getMAC() method on the current object
        // passing the localhost address as the parameter
        obj.getMAC(addr);
    }
}

Final Words

I hope this article helps you to learn “Java Program to Get Physical or MAC Address of Windows and Linux Machine”. If you face any issues please let me know via the comment section. Share this article with other Java program developers via social networks. Thank You!

Ranjith

Hi, I'm Manoj a full-time Blogger, YouTuber, Affiliate Marketer, & founder of Coding Diksha. Here, I post about programming to help developers.

Leave a Reply