Página de manual de Nmap dice
Nmap utiliza paquetes de IP sin procesar en formas novedosas para determinar qué hosts son
disponible en la red, qué servicios (nombre y versión de la aplicación)
esos hosts están ofreciendo, qué sistemas operativos (y versiones de sistema operativo)
se están ejecutando, qué tipo de filtros de paquetes / firewalls están en uso,
y docenas de otras características.
Creo que nmap no puede detectarlos como una sola máquina porque el descubrimiento del host nmap es un escaneo de capa 3 (Nmap usa Paquetes de IP en novela ...) y las direcciones MAC están integradas en la capa 2 de Modelo OSI.
EDIT:
La única identidad de una computadora en una red es su dirección MAC y su dirección IP. Probar suerte con estos dos en tu caso no tiene sentido. Una posible forma de verlo es que usted haga que el usuario interactúe con un servidor web y plante algunas cookies en él. Estas cookies pueden ser útiles para identificar a un usuario. Pero si el usuario utiliza un nuevo navegador o borra las cookies, perderá el seguimiento.
También puede escribir un script del lado del cliente para crear un archivo con un número generado aleatoriamente en algún directorio particular de la computadora para rastrear al usuario. El número aleatorio se puede comparar con un DB para su identificación. Pero tiene sus propios inconvenientes, como los problemas de permisos para escribir y leer datos de la PC del usuario. También el script del lado del cliente es visible para el usuario en el código fuente de la página. Un usuario puede simplemente caminar y eliminar su archivo.
No creo que haya una manera directa de lograr tu objetivo, pero podrías utilizar el conocimiento de las formas en que lo he mencionado y mejorarlo. ¡Buena suerte! Espero que ayude.