同じネットワークにつながっているそれぞれIPアドレスを調べるにはどうすればいいでしょうか。

条件

機器1 AB:CD:EF:12:34:01
機器2 AB:CD:EF:12:34:02 
機器3 AB:CD:EF:12:34:03
機器4 MACアドレス不明

全て、同一のローカルネットワークに接続しています。

試している案は下記の通りです。

同じNW上の全てのIPに対してpingをしたうえで、ARPテーブルを取得し、
MACアドレスと照合する。

#!/bin/bash -v
for ((i = 100 ; i <= 254 ; i++)); do ping -c 1 -t 1 10.242.15.${i}; done
arp -a
???
???

結果は下記のように取得できましたが、時間がかかりすぎます。
もう少し効率的な方法があればご教示ください。

? (10.242.16.42) at AB:CD:EF:12:34:01 on en5 ifscope [ethernet]
? (10.242.16.50) at AB:CD:EF:12:34:04 on en5 ifscope [ethernet]
? (10.242.16.146) at AB:CD:EF:12:34:03 on en5 ifscope [ethernet]
? (10.242.18.78) at AB:CD:EF:12:34:02 on en5 ifscope [ethernet]

また、機器ごとのMACアドレスから、それぞれの機器のIPアドレスを変数で呼べるようにしたいのですが、どうするのがよいでしょうか。
(機器1のIPアドレスを、シェル変数 EQ_IPADDR1とした場合)