This simple flow uses nmap to scan for devices in a subnet.
Edit the scan subnet and change your the network subnet with your network ip. By default the value is 192.168.2.0/24.
The command to execute (Linux tested) requires nmap installed on machine running node-red.
sudo nmap -sn 192.168.2.0/24 | awk '/Nmap scan report for/{printf $5;}/MAC Address:/{print "|"substr($0, index($0,$3)) }' | sort
The flow has an inject node (runs every minute) that trigger the networks scan.
Please pay attention that the response time of the scan depends on the size of your network (how many devices attached).
I added a parser for the scan result that transform data to an array of objects
[
{
ip: 'device_ip',
mac: 'device_mac_address,
brand: 'device_brand'
},
{
....
}
]