(eth0,Loopback,wlan0)我的机器上有三个接口,我想使用Java-API来获取mac地址.
我用这个代码.
Enumeration<NetworkInterface> nets = NetworkInterface.getNetworkInterfaces();
for (NetworkInterface netint : Collections.list(nets))
displayInterfaceInformation(netint);
}
static void displayInterfaceInformation(NetworkInterface netint)
throws SocketException
{
System.out.println("Display name: "
+ netint.getDisplayName());
System.out.println("Hardware address: "
+ Arrays.toString(netint.getHardwareAddress()));
}
Run Code Online (Sandbox Code Playgroud)但那个代码打印wlan0,loopback,但错过了eth0.
更新
o/p(strace -f java Networks 2>&1| grep ioctl).. 空白(空).
java -version
java版"1.7.0_21"Java(TM)SE运行时环境(版本1.7.0_21-b11)Java HotSpot(TM)64位服务器VM(版本23.21-b01,混合模式)
ioctl(4, SIOCGIFCONF, {80, {{"lo", {AF_INET, inet_addr("127.0.0.1")}}, {"wlan0", {AF_INET, inet_addr("192.168.1.101")}}}}) = 0
ioctl(5, SIOCGIFFLAGS, {ifr_name="eth0", ifr_flags=IFF_UP|IFF_BROADCAST|IFF_MULTICAST}) = 0
ioctl(5, SIOCGIFHWADDR, {ifr_name="eth0", …Run Code Online (Sandbox Code Playgroud) java ×1