arp-scan をつかう
-I デバイス | eth0 とか。 省略すると一番最初に見つけたNICになる |
範囲 | 192.168.0.0/24 みたいに指定する 省略すると、NICのネットワークアドレスを自動的に使う |
-l | 範囲にNICのネットワークアドレスを自動的に使う |
-q | IPアドレスとMACアドレスの後ろに ベンダー名を表示しない |
-g | ダブったIPアドレスを出力をしない |
# arp-scan -I eth0 172.16.0.0/24 Interface: eth0, datalink type: EN10MB (Ethernet) Starting arp-scan 1.9 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/) 172.16.0.10 74:d0:2b:c6:66:76 ASUSTek COMPUTER INC. 172.16.0.73 50:c4:dd:fd:55:dc (Unknown) 4 packets received by filter, 0 packets dropped by kernel Ending arp-scan 1.9: 256 hosts scanned in 2.207 seconds (115.99 hosts/sec). 2 responded
24ビットマスクなら1,2秒程度で終わるけど、16ビットマスクだと256秒くらいかかる。
オプションをひとつも指定しないと なんかエラーになって怒られるので、なにかを指定する
注意
ルーターで Proxy ARP が有効にされていると 全部ルーターのMACアドレスが返ってくるので使えない。
参考
arp-scan(1): ARP scanner - Linux man page
arp-scanコマンドのインストール方法と利用方法 - Qiita