Is there a tool (or Linux command) that can detect the OS running on IoT devices, such as smartwatches or wearable tracker devices?

Or a tool that can list as much information as possible about the device.

  • 1
    I suspect this may be too broad to get a good answer.
    – Chenmunka
    Commented Oct 22, 2016 at 13:48
  • I agree with Chenminka. Most embedded systems will have uname from coreutils but most will not want you to be able to execute it. And I can build an embedded device whichever way I want, I do not really need to follow any standards. It is much better to state what you want to achieve as your end goal (i.e. what you want the device's OS for and why you need that info).
    – grochmal
    Commented Oct 22, 2016 at 16:18
  • You may start by checking at device specs that is delivered within or available online, you don't need necessarily a 'hacker' tools for this purpose.
    – elsadek
    Commented Oct 22, 2016 at 17:09

1 Answer 1


There is an -O option on nmap that will try to detect what OS the device is running, it is by no means perfect. It analyzes the TCP/IP stack's behavior. https://nmap.org/

If the device has port 22 (ssh) or 23 (telnet) open you could try to log/break in using some default username and password. (IoT devices aren't meant to be secure, they're meant to be stupid, so the chance of successfully logging in is too high.) And then run the uname command as suggested in the comment.

There are many many search engines that could have indexed a page that happens to mention which operating system the specific device is running.

If there is any open port at all, you can dig in and start looking for clues. Ex: a webserver might send the Server header which might happen to name the OS. (Be aware that it could also be lying.)

If all above fails, it is quite likely to be running something with Linux as a kernel or a proprietary BSD clone.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .