0
我正在尝试开发一个开源网络监视应用程序 应用程序扫描网络以查找所有连接的设备。它显示给定范围内的所有IP,但连接的设备将显示带有复选框(JCheckBox)。我使用address.getHostName()和address.getHostAddress() - 类中的方法InetAddress- 将有关每个设备的信息(如名称或IP地址)列入JTable中的连接设备现在我试图获取物理地址(MAC )。我试过这段代码,但应用程序只显示本地设备;没有出现给定IP范围内的设备(连接或断开连接)。如何获取使用java的网络设备的MAC地址
byte[] mac = NetworkInterface.getByInetAddress(address).getHardwareAddress();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < mac.length; i++) {
sb.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : ""));
}
String MAC = sb.toString();
复制https://stackoverflow.com/questions/1238963/query-arp-cache-to-get-mac-id(以及其他许多人)。 – Pixel