Eu costumo usar fing para isso, é um scanner que varre a sub-rede em que você está e tenta extrair nomes de host e exibi-los ao lado de ip e MAC.
Ex:
14:19:05 > Discovery profile: Default discovery profile
14:19:05 > Discovery class: data-link (data-link layer)
14:19:05 > Discovery on: 192.168.1.0/24
14:19:05 > Discovery round starting.
14:19:05 > Host is up: 192.168.1.151
HW Address: XX:XX:XX:XX:XX:XX
Hostname: My-laptop-hostname
14:19:05 > Host is up: 192.168.1.1
HW Address: YY:YY:YY:YY:YY:YY
Hostname: router.asus.com
14:19:06 > Discovery progress 25%
14:19:07 > Discovery progress 50%
14:19:08 > Discovery progress 75%
14:19:05 > Host is up: 192.168.1.10
HW Address: AA:BB:CC:DD:EE:FF (ASUSTek COMPUTER)
14:19:05 > Host is up: 192.168.1.11
HW Address: GG:HH:II:JJ:KK:LL
14:19:06 > Host is up: 192.168.1.99
HW Address: MM:NN:OO:PP:QQ:RR (Apple)
Hostname: iPhoneOfSomeone
Como você pode ver, nem todos os dispositivos fornecem seu nome de host; por exemplo, alguns periféricos, como impressoras, nem sempre fornecem nomes de host, mas a maioria dos dispositivos faz isso. Ele ainda tenta adivinhar o fabricante, analisando a parte id do MAC
Ele roda no Raspberry Pi, eu instalei no meu há um tempo atrás e ele funciona como esperado.