可能重复:
查询 ARP 缓存以获取 MAC ID
我需要获取连接到我的家庭网络的所有远程机器的 mac 地址。我可以使用下面的代码读取我自己机器的mac地址,但我不知道如何获取我网络上其他机器的mac地址。或者有没有可能。
import java.net.InetAddress;
import java.net.NetworkInterface;
class Test {
public static void main(String[] args) throws Exception {
InetAddress address = InetAddress.getLocalHost();
NetworkInterface ni = NetworkInterface.getByInetAddress(address);
byte[] mac = ni.getHardwareAddress();
for (int i = 0; i < mac.length; i++) {
System.out.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : "");
}
}
}
输出(MyComputer 的 6byte mac 地址)
30-60-77-12-cd-99