How do I find the make and model of devices connected over a local network?

Anonymous June 26, 2014

Could we find the make and model of devices connected over a network (i.e on a LAN) and can what can find help us with program code?

  1. Bruce E
    June 27, 2014 at 2:53 am

    Take a look at SpiceWorks. It has a network management app that should be able to find and identify every device on your network. It used Nmap to do much of the work.

  2. Jan F
    June 26, 2014 at 10:01 pm

    Nmap is a good tool to query hosts and get details about them ~ it also tries to get the operating system in use.
    Another option is Network Miner but it is more intended to detect and analyze traffic on your network.

    While the MAC address can give you the manufacturer it isn't always fully accurate.
    As for the model it's pretty much impossible without some sort access to the device ~ even then it's problematic as not all devices have this information stored and not all operating systems try to read that information from the hardware. Sometimes there is no way around other than looking at the device itself e.g. the tag with the serial number.

    • Rachanareddy07
      June 27, 2014 at 3:36 am

      Thankyou for replying.Can you help us with code to implement this?

    • Jan F
      June 27, 2014 at 10:23 am

      This is a really vague request as code!=code. Different code may have to be implemented differently and may not work on all systems.

      On Windows you can try getting the system model using the Windows Management Instrumentation, example:
      > wmic csproduct get name
      PRIMERGY TX300 S4

      another command giving you similar information is "wmic computersystem list brief"

      This command should work on pretty much all Windows version used nowadays except XP Home which does not have the wmic command. However, as stated in my first post this requires the manufacturer to actually provide that information to the OS.

      You can also query a remote host using wmic
      The question is how you want execute that command on a remote host and how to fetch the output?

      On a Mac you'd need remote access to the UNIX console e.g. via ssh. Then you can execute e.g. "system_profiler SPHardwareDataType" and strip the data to your needs.

      On Linux systems you could use dmidecode

      Thats about all I can give you on that topic – I'm not really a programmer anyway.

      My personal suggestion:
      Start tracking your inventory – keep track and note down information about every computer you hand out (should be a mandatory task). If you allow BYOD then you probably have a network usage agreement which you could modify to have people report to you or show you the actual device "for security purposes (possible malware infections)" and "to identify systems performing malicious activities on the network".

      The easiest option doesn't always have to be technical…

  3. Hovsep A
    June 26, 2014 at 8:09 pm