揮発性のメモ2

知識をメモ書きしておく

Linuxで、IPアドレスとMACアドレスの一覧を出すコマンド

arp-scan をつかう

使い方
arp-scan -I デバイス 範囲

-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