Difference between revisions of "Scan-subnet.pl"

From Organic Design wiki
m
(more compact ;))
Line 4: Line 4:
 
#!/usr/bin/perl
 
#!/usr/bin/perl
 
for ( qx( ifconfig ) =~ /inet addr:([0-9.]+)\.[0-9]+\s+Bcast:/g ) {
 
for ( qx( ifconfig ) =~ /inet addr:([0-9.]+)\.[0-9]+\s+Bcast:/g ) {
@_ = qx( nmap -nsL -O $_.0/24 ) =~ /^Host ([0-9.]+) not scanned.MAC Address: (.{17}).+?\((.+?).$/sgm;
+
@i = qx( nmap -nsL -O $_.0/24 ) =~ /^Host ([0-9.]+) not scanned.MAC Address: (.{17}).+?\((.+?).$/sgm;
while ( $#_ >= 0 ) {
+
print "".shift @i."\t[".(shift @i)."] ".(shift @i)."\n" while $#i >= 0;
( $ip, $mac, $os ) = ( shift @_, shift @_, shift @_ );
 
print "$ip\t[$mac] $os\n"
 
}
 
 
}
 
}
 
</perl>}}
 
</perl>}}

Revision as of 09:37, 22 May 2009

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.


{{{1}}}



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