1

我需要获取连接到我的 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 地址。如何获取网络上连接设备的主机名?我还应该做些什么来获取设备的所有可能详细信息?请指导我。

4

0 回答 0