1) Espero que você não precise coletar passivamente essas informações.
Você pode ouvir o tráfego com algo como tcpdump, wireshark, logging de firewall, etc ... ao longo do tempo, reunindo informações conforme os sistemas transmitem dados ou fazem suas coisas.
2) Comutadores
Se você tiver interruptores legais, eles podem lhe dizer um monte.
3) ARP
Os sistemas com firewall ainda podem responder a solicitações de ARP, para que você possa fazer com que eles se mostrem. Você realmente só precisa saber o IP está sendo usado certo? Não se responder a qualquer coisa.
Talvez isso funcione ...
# arping -I enp0s31f6 192.168.1.1
ARPING 192.168.1.1 from 192.168.1.122 enp0s31f6
Unicast reply from 192.168.1.1 [14:CC:20:D4:F7:8E] 2.143ms
Unicast reply from 192.168.1.1 [14:CC:20:D4:F7:8E] 2.011ms
Unicast reply from 192.168.1.1 [14:CC:20:D4:F7:8E] 2.006ms
Unicast reply from 192.168.1.1 [14:CC:20:D4:F7:8E] 2.090ms
^CSent 4 probes (1 broadcast(s))
Received 4 response(s)
Ou mais em combinação usando nmap ou algo para tentar uma conexão, então registrando a resposta ARP ao mesmo tempo com wireshark, etc ....
Melhor por último, o nmap tem o modo Arp. Eu nunca tentei isso.
4) DHCP
Se algum endereço for DHCP, as concessões DHCP serão exibidas quando forem renovadas pela última vez.