我需要获取连接到我的 wifi 网络的所有无线设备的详细信息。我正在获取 IP、MAC 地址以及设备供应商。
如何获取设备类型?(即笔记本电脑、手机、空调、冰箱)和主机名?
InetAddress inetAddress = null;
for (int i = 0; i < 256; i++) {
try {
inetAddress = InetAddress.getByName("192.168.1." + i);
if (inetAddress.isReachable(30)) {
ConnectedDevice device = new ConnectedDevice();
device.setDeviceIPAddress(subnet + i);
device.setDeviceMACAddress(Utils.getMacAddressFromArpCache(inetAddress.getHostName()));
Log.d("Device", inetAddress.getHostName() + ", " + inetAddress.getHostAddress() + ", " + inetAddress.getCanonicalHostName() + ", " + device.getDeviceMACAddress());
}
} catch (Exception e) {
e.printStackTrace();
}
}
getHostName()、getHostAddress()、getCanonicalHostName() 所有 3 个 inetAddress 方法都只返回 ip 地址。如何获取网络上连接设备的主机名?我还应该做些什么来获取设备的所有可能详细信息?请指导我。