gpt4 book ai didi

java - NetworkInterface 不返回所有 mac 地址

转载 作者:行者123 更新时间:2023-11-29 08:59:25 48 4
gpt4 key购买 nike

在我们的部分代码中,我试图将 mac 地址与我们的许可证文件绑定(bind),但我面临一个问题,即我用于计算机器所有 mac 地址的代码没有返回所有物理 mac 地址。这是获取所有mac地址的代码

public static Collection<String> getAllLocalMacAddresses() throws IOException {
final Enumeration<NetworkInterface> inetAddresses = NetworkInterface.getNetworkInterfaces();
final Collection<String> addresses = new LinkedList<String>();

while(inetAddresses.hasMoreElements()){
final byte[] macBytes = inetAddresses.nextElement().getHardwareAddress();

if(macBytes == null)
continue;

addresses.add(getMacAddress(macBytes));
}

return addresses;
}

static String getMacAddress(byte[] macBytes){
final StringBuilder strBuilder = new StringBuilder();

for (int i = 0; i < macBytes.length; i++){
strBuilder.append(String.format("%02X%s", macBytes[i],
(i < macBytes.length - 1) ? ":" : ""));
}

return strBuilder.toString().toUpperCase();
}

这是我从这个方法得到的结果

[, 00:00:00:00:00:00:00:E0, 00:26:B9:30:6D:CB, 00:26:B9:30:6D:CB, 00:00:00:00:00:00:00:E0, 00:26:B9:30:6D:CB, 02:26:B9:30:6D:C1, 00:26:B9:30:6D:CB, 00:00:00:00:00:00:00:E0]

“ipconfig/all”的输出显示了这些物理地址(如果需要,我可以粘贴此命令的输出)

00-26-B9-30-6D-C3
02-26-B9-30-6D-C1
00-26-B9-30-6D-C5
00-26-B9-30-6D-C9
00-26-B9-30-6D-CB
00-00-00-00-00-00-00-E0

现在,如果您看到 java 代码没有返回地址“00-26-B9-30-6D-C3”并且还打印了三次地址“00:26:B9:30:6D:CB”。知道为什么会发生这种情况以及我该如何解决。

任何帮助将不胜感激:)

最佳答案

关于java - NetworkInterface 不返回所有 mac 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18450460/

48 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com