In order to run rsnapshot I need either an IP name (e.g. unix.uvic.ca) or an IP address. This is because ultimately, rsnapshot runs an rsync command, which needs one of those IDs to get in to the client.
I investigated a number of tools that *should* be able to do this, but had no luck. So, my home-brew method goes like this:
1) install nmap
2) run this (all on one line):
nmap -sP 22.214.171.124/26|arp -na|grep -v "incomplete"|sed 's/\? (//g'|sed 's/) at/\t/g'|cut -d "[" -f1
You'll get back a tab-delimited result with IP address first followed by the MAC address of each responsive machine.
Ultimately, this will help construct a script that can be run from rutabaga that will build an up-to-date hosts file.
update: I've created such a script, using the collected MAC addresses of HCMC machines and storing them as variables. I then use sed to swap out MAC addresses for machine names. Seems to work well.