Según este enlace: aquí , nmap 5.2 en adelante ahora se supone que detecta los teléfonos inteligentes Android . Estoy usando nmap 6.01 pero solo identifica los dispositivos Android que ejecutan un kernel de Linux.
He utilizado ampliamente nmap y, aunque he encontrado que en general es bastante bueno para descubrir el sistema operativo en el servidor y en el equipo de escritorio / laptop, es bastante malo en detectar kernels integrados y portátiles.
Esto se debe a que, con bastante frecuencia, estos sistemas no escuchan en ningún puerto, y las respuestas al proceso de reconocimiento de TCP son las que proporcionan la mayor información de detección de SO.
Sin un puerto abierto en el que todo nmap tiene que trabajar es la respuesta a los puertos cerrados y las respuestas de eco ICMP.
De los nmap docs ,
La detección del SO es mucho más efectiva si se encuentran al menos un puerto TCP abierto y uno cerrado.
Nmap se acerca lo más posible a los puertos que puede ver, por lo que aquí puede ver lo suficiente para saber que es un Linux, pero no lo suficiente como para anclarlo a un sistema operativo en particular.
Lea este este capítulo para ver todos los identificadores que utiliza nmap al intentar determinar el sistema operativo.