for windows
> for /l %i in (1,1,254) do ping -w 50 -n 1 192.168.1.%i && arp -a 192.168.1.%i >> ping.log http://d.hatena.ne.jp/rx7/20101230/p1
for linux
$ for a in `seq 1 254`; do ping -c 1 -w 1 192.168.1.$a > /dev/null && arp -a 192.168.1.$a | grep ether; done
http://d.hatena.ne.jp/rx7/20101231/p1
「使用中のIPアドレスを調査するのにpingに加えて、arpも必要なの?」と思ったら、次のurlにある「使用中のIPアドレスを調査する」に分かりやすくまとめてありました。
http://www.atmarkit.co.jp/fwin2k/win2ktips/309ipuse/ipuse.html