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.
Information Security Stack Exchange is a question and answer site for information security professionals. It only takes a minute to sign up.
Sign up to join this communityThere 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.
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).