我尝试使用getHardwareAddress()方法来获取我的网卡的mac地址,但是根据NetworkInterface.getNetworkInterfaces(),我有20多个网络接口。我已经通过检查其他属性将其范围缩小到一个,但这是否将在所有(或至少大多数情况下)和操作系统中工作,只在WIndows 7 PC上尝试过。
如果一台计算机有两块网卡,我能找出哪一块实际用于当前的互联网连接吗?
Enumeration<NetworkInterface> e = NetworkInterface.getNetworkInterfaces();
while(e.hasMoreElements())
{
NetworkInterface ni = e.nextElement();
if(ni!=null && ni.getHardwareAddress()!=null &&ni.getInetAddresses().hasMoreElements() && ni.supportsMulticast())
{
String macAddress = Hex.encodeHexString(ni.getHardwareAddress());
System.out.println("MACADDRESSIS"+macAddress);
}
}发布于 2012-09-03 22:24:46
如果您有InetAddress,可以使用NetworkInterface.getByInetAddress()获取当前的NetworkInterface。
https://stackoverflow.com/questions/12249617
复制相似问题