LAN内の端末の数や使用しているIPアドレスなどを調べる用途にもってこいなarp-scanというコマンドを知りました。
さっそく使ってみました。
環境
- Raspberry Pi OS
$ cat /etc/os-release PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)" NAME="Raspbian GNU/Linux" VERSION_ID="9" VERSION="9 (stretch)" VERSION_CODENAME=stretch ID=raspbian ID_LIKE=debian HOME_URL="http://www.raspbian.org/" SUPPORT_URL="http://www.raspbian.org/RaspbianForums" BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
今回はRaspberry Piでコマンド実行をしてみましたが、CentOSでもUbuntuでも使えることを経験済みです。 - バージョン
$ arp-scan -V arp-scan 1.9 Copyright (C) 2005-2013 Roy Hills, NTA Monitor Ltd. arp-scan comes with NO WARRANTY to the extent permitted by law. You may redistribute copies of arp-scan under the terms of the GNU General Public License. For more information about these matters, see the file named COPYING. libpcap version 1.8.1 $Id: arp-scan.c 19582 2013-04-28 17:11:17Z rsh $ $Id: error.c 19550 2013-04-15 09:24:42Z rsh $ $Id: wrappers.c 19550 2013-04-15 09:24:42Z rsh $ $Id: utils.c 19550 2013-04-15 09:24:42Z rsh $ $Id: link-packet-socket.c 19578 2013-04-25 15:44:27Z rsh $
事前準備
インストール
はじめから入っているタイプのコマンドではないので、インストールします。
$ sudo apt install arp-scan
インターフェース確認
使い方の項にコマンドの使い方を書きますが、arp-scanコマンドを実行する端末のネットワークインターフェース情報が必要になるので、事前に確認しておきます。
$ ip add show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether b8:27:eb:de:ca:b5 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.130/24 brd 192.168.1.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 2001:f72:60:5200:a374:1ec8:f8b8:7fb/64 scope global mngtmpaddr noprefixroute dynamic
valid_lft 2591767sec preferred_lft 604567sec
inet6 fe80::eb18:e57c:b13f:5a3a/64 scope link
valid_lft forever preferred_lft forever
上記の結果から、ネットワークインタフェース名は『eth0』だとわかりました。
LANの情報確認
arp-scanコマンドを実行する端末が所属するネットワーク情報も必要になります。
この情報もip add showから分かります。
$ ip add show
~省略~
inet 192.168.1.130/24 brd 192.168.1.255 scope global eth0
この結果から、この端末(Raspberry Pi)は192.168.1.0/24というネットワークに所属していることが分かりました。
arp-scanコマンドを実行してみる
LAN内の端末情報を調べるときのarp-scanの使い方について書いていきます。
使い方
arp-scanコマンドの基本的な使い方
sudo arp-scan -I [インターフェース名] [所属ネットワーク]
実践
$ sudo arp-scan -I eth0 192.168.1.0/24 Interface: eth0, datalink type: EN10MB (Ethernet) Starting arp-scan 1.9 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/) 192.168.1.120 80:c1:6e:XX:XX:XX Hewlett Packard 192.168.1.22 e4:5f:01:XX:XX:XX (Unknown) 192.168.1.22 e4:5f:01:XX:XX:XX (Unknown) (DUP: 2) 192.168.1.45 00:f3:61:XX:XX:XX (Unknown) 192.168.1.35 34:29:8f:XX:XX:XX (Unknown) 192.168.1.55 1c:bf:ce:XX:XX:XX (Unknown) 192.168.1.62 c0:06:c3:XX:XX:XX (Unknown) 192.168.1.59 44:85:00:XX:XX:XX Intel Corporate 192.168.1.88 ac:67:84:XX:XX:XX (Unknown) 192.168.1.135 e0:69:95:XX:XX:XX PEGATRON CORPORATION 192.168.1.129 d4:f5:47:XX:XX:XX (Unknown) 192.168.1.119 80:c1:6e:XX:XX:XX Hewlett Packard 192.168.1.101 c6:e7:b9:XX:XX:XX (Unknown) 192.168.1.140 ec:f0:0e:XX:XX:XX Abocom 192.168.1.144 e0:ce:c3:XX:XX:XX ASKEY COMPUTER CORP 192.168.1.145 f4:a9:97:XX:XX:XX (Unknown) 192.168.1.252 24:4b:fe:XX:XX:XX (Unknown) 192.168.1.255 ac:67:84:XX:XX:XX (Unknown) 192.168.1.250 dc:fb:02:XX:XX:XX Buffalo Inc. 22 packets received by filter, 0 packets dropped by kernel Ending arp-scan 1.9: 256 hosts scanned in 3.377 seconds (75.81 hosts/sec). 19 responded
ネットワーク上に存在している端末の数、IPアドレスとMACアドレスが分かりました。
私の結果だと最終行の最後に『19 responded』とあるので19のデバイスが存在しているように見えますが、『(DUP: 2)』の表記から分かるように、重複して応答しているデバイスがあるので、実際には18というデバイス数が正しいです。
また、IPアドレスの並びはバージョニングソートしないと見づらいですね。
DUPについて↓

LinuxからIntel AMTのPCにpingしたらDUP!が出現した
Intel AMTを設定済みのHP Compaq 8200 Elite sffにLinux(Raspberry Pi)からpingコマンドを実行すると以下のような結果が表示されました。$ ping -...
IPアドレスをキレイに並び替える方法↓

Linux sort -V で IPアドレスをソートする
今更ながらですが、sortのVオプションがとても便利だったので。以下のようなIPアドレスの一覧があったとします。↑を見るとわかりますが、IPアドレスの並びはバラバラです。IPアドレスを昇順にしようとs...
LAN内のデバイス情報を手軽に取得できるので便利です!
ネットワークインタフェースのメーカー名が表示されるのもちょっと面白い。


コメント