title: How do I get host names by using IP, MAC addresses in android
body: <p>I need to get the details of all wireless devices that are connected to my wifi network. I'm getting IP, MAC addresses, somehow Vendors of device as well. </p>
  
  <p>How do I get the device type? (i.e laptop, mobile, AC, Refrigerator) And host names? </p>
  
  <pre><code>InetAddress inetAddress = null;
          for (int i = 0; i &lt; 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();
              }
          }
  </code></pre>
  
  <p>getHostName(), getHostAddress(), getCanonicalHostName() all 3 methods of inetAddress returning the ip address only. How do I get host names of connected devices on my network? What else should I do to get all the possible details of devices? Please guide me.</p>