JAVA中的物理地址

时间:2020-03-06 14:23:43  来源:igfitidea点击:

如何使用Java获取计算机的物理地址?

解决方案

try {
    InetAddress addr = InetAddress.getLocalHost();

    // Get IP Address
    byte[] ipAddr = addr.getAddress();

    // Get hostname
    String hostname = addr.getHostName();
} catch (UnknownHostException e) {
}

我认为这可能是我们在InetAddress类的Java API中寻找的:http://java.sun.com/javase/6/docs/api/java/net/InetAddress.html

getLocalHost()

从Java 6开始,java.net.NetworkInterface类现在具有方法getHardwareAddress()

http://java.sun.com/javase/6/docs/api/java/net/NetworkInterface.html#getHardwareAddress()

如果这太新了,则可以使用UUID软件包,每个操作系统尝试各种方法来请求它。尝试例如http://johannburkard.de/blog/programming/java/MAC-address-lookup-using-Java.html

如果需要,则需要MAC地址,然后将需要JNI。我使用一个称为JUG的库,使用该机器的真实MAC地址生成UUID。我们可以查阅他们的源代码,以了解如何在Linux,Solaris,Windows和Mac平台上实现此目的。