scan-subnet.pl
From Organic Design wiki
This little script uses nmap to give you a list of all the IP addresses in use on all the subnets on all active network interfaces on the host it is run on. It also gives the MAC address and a basic description for each.
#!/usr/bin/perl
for ( qx( ifconfig ) =~ /inet addr:([0-9.]+)\.[0-9]+\s+Bcast:/g ) {
@i = qx( nmap -nsL -O $_.0/24 ) =~ /^Host ([0-9.]+) not scanned.MAC Address: (.{17}).+?\((.+?).$/sgm;
print "".(shift @i)."\t[".(shift @i)."] ".(shift @i)."\n" while $#i >= 0;
}
Example output:
192.168.1.1 [00:21:29:08:91:44] Cisco-Linksys
192.168.1.2 [00:13:C0:03:12:A4] CompuLab
192.168.1.100 [00:02:D2:02:2E:D1] MacPower Peripherals
192.168.1.101 [00:07:6F:58:FF:29] Senao International Co.
192.168.1.102 [00:08:6F:58:FF:0C] Senao International Co.
192.168.1.151 [00:1E:09:48:AA:34] Dell