checkout arpwatch:
ftp://ftp.ee.lbl.gov/arpwatch.tar.gz
or maybe this might do:
Code:
#!/bin/sh
# -ephemera
net=10.30.1 # 10.30.1/24
[ $# -lt 1 -o `id -u` -ne 0 ] && exit 1
x=1
while [ $x -le 254 ] ; do
arp -d $net.$x >/dev/null 2>&1
printf "\rScanning $net.$x "
ping -c3 $net.$x 1>/dev/null &
x=$(($x + 1))
done
while [ `pgrep -P $$ ping | wc -l` -ne 0 ] ; do
printf .
sleep 1
done
printf " Done.\n"
arp -na | grep $1 | sed 's/.*(\(.*\)) at .*/\1 /'
# ./script 0a:0b:0c:0d:0e:ff