Existem pelo menos duas maneiras de fazer isso, que eu posso pensar.
A primeira maneira é executar o comando arp -a , que mostrará os nomes dos pcs na LAN, sejam Windows ou * Nix:
arp -a
Você também pode usar uma ferramenta extremamente poderosa, nmap , que pode fazer um número enorme de coisas, entre as quais a que você perguntou:
sudo apt-get install nmap
sudo nmap -sU --script nbstat.nse -p137 192.168.1.0/24
Você deve adaptar o comando acima à sua sub-rede, em vez de 192.168.1.0/24.
Isso também retornará uma lista de nomes de computadores e endereços, novamente, independentemente do sistema operacional do computador. Os nomes serão identificados como NetBios Name , e você pode filtrar a saída do comando acima, emitindo-o desta forma:
sud nmap -sU --script nbstat.nse -p137 192.168.1.0/24 | egrep 'report | NetBIOS'