En tu red local es fácil sabiendo la MAC del dispositivo.
En internet, puedes usar técnicas de fingerprinting
Con nmap
OS detection with verbosity (-O -v)
La detección de sistema operativo se activa y controla con las siguientes opciones:
-O (Activa la detección de sistema operativo)
Tal y como se indica previamente, activa la detección de sistema operativo. También se puede utilizar la opción -A para activar la detección de sistema operativo y de versiones.
--osscan-limit (Limitar la detección de sistema operativo a los objetivos prometedores)
La detección de sistema operativo funcionará mejor si se dispone de un puerto TCP abierto y otro cerrado. Defina esta opción si no quiere que Nmap intente siquiera la detección de sistema operativo contra sistemas que no cumplan este criterio. Esta opción puede ahorrar mucho tiempo, sobre todo si está realizando sondeos -P0 sobre muchos sistemas. Sólo es de aplicación cuando se ha solicitado la detección de sistema operativo con la opción -O o -A.
--osscan-guess; --fuzzy (Aproximar los resultados de la detección de sistema operativo)
Cuando Nmap no puede detectar un sistema operativo que encaje perfectamente a veces ofrecerá posibilidades que se aproximen lo suficiente. Las opciones tienen que aproximarse mucho al detectado para que Nmap haga esto por omisión. Cualquiera de estas dos opciones (equivalentes) harán que Nmap intente aproximar los resultados de una forma más agresiva.