ネットワーク接続機器のIPアドレスを調査する際のコマンドを2つ紹介

2017年7月18日

60爺の周りにある RaspberryPi ですが、現在現役の webサーバに始まり、お天気 、ニュースをしゃべるモノや、電光掲示板用のモノが稼働中です。

その他に、モータ稼働用の RaspberryPi zero WH や、多目的の RaspberryPi 、最近は ubuntu マシンが追加で入りました。

それぞれが、有線LANや wifi とつながっているんですが、そのIPアドレスが何か、わかりづらく なっています。

ですので、webサーバは110番、お天気 、ニュースをしゃべるモノは114番と固定アドレス化したんですが、それ以外の奴はち ょっとうろ覚えです。

これらのネットワークに繋がっている機器のIPアドレスを簡単に知ることのできるコマンドはないかと探したら、さすが Linux ですね。ちゃんとありました。2つ紹介します。

  • arp コマンド
  • netdiscoverコマンド
スポンサーリンク

arpコマンド

arpコマンドは、IPアドレスとMACアドレスの対応などを管理するARPテーブルの内容(エントリ)を表示したり、エントリを追加、削除したりするコマンドです。

オプションに -a をつけると、ネットワークにあるIPアドレスの一覧がさっと出てきます。

mizutan@raspberrypi:/var/lib/dhcp $ arp -a
? (192.168.254.215) at 54:13:79:7c:48:d1 [ether] on eth0
? (192.168.254.140) at 9c:30:5b:81:de:bb [ether] on eth0
? (192.168.254.203) at ba:a6:ce:cf:b1:62 [ether] on eth0
? (192.168.254.214) at <不完全> on eth0
? (192.168.254.202) at 2c:d0:5a:39:f5:42 [ether] on eth0
? (192.168.254.205) at 98:9c:57:80:2a:61 [ether] on eth0
? (192.168.254.209) at c4:06:83:cf:65:bf [ether] on eth0
? (192.168.254.204) at a8:7e:ea:a8:89:8c [ether] on eth0
? (192.168.254.1) at cc:1a:fa:c5:f0:4e [ether] on wlan0
? (192.168.254.217) at be:31:00:f5:af:92 [ether] on eth0
? (192.168.254.208) at 30:4a:26:c8:70:50 [ether] on eth0
? (192.168.254.120) at 54:13:79:7c:48:d1 [ether] on eth0
? (192.168.254.207) at f4:a5:9d:14:30:21 [ether] on eth0
? (192.168.254.117) at b8:27:eb:0d:8b:2d [ether] on eth0
? (192.168.254.216) at 68:ab:1e:93:5f:50 [ether] on eth0
? (192.168.254.211) at 70:85:c2:7d:16:8f [ether] on eth0
? (192.168.254.114) at b8:27:eb:d0:5d:6d [ether] on eth0
? (192.168.254.206) at c8:c2:fa:dd:89:f5 [ether] on eth0
? (192.168.254.116) at b8:27:eb:be:20:17 [ether] on eth0
? (192.168.254.213) at de:72:93:ca:af:3a [ether] on eth0
? (192.168.254.210) at 3c:28:6d:fb:c0:96 [ether] on eth0
? (192.168.254.201) at 3a:e9:1d:9f:da:95 [ether] on eth0
? (192.168.254.212) at 64:6c:80:af:e4:07 [ether] on eth0
? (192.168.254.1) at cc:1a:fa:c5:f0:4e [ether] on eth0
? (192.168.254.200) at b8:27:eb:5e:d6:d1 [ether] on eth0

嫁さんや長女の使用しているノートパソコンや、60爺を含めた家族の使用しているスマホがあるため、かなりの数の機器がネットワークに接続されていることがわかります。


netdiscoverコマンド

netdiscoverコマンドは、LAN内で利用されているIPアドレスを常時監視して一覧を出力し続けるものです(出展:俺的備忘録 ?なんかいろいろ?)。参考記事は、Ubuntu 14.04 LTSを前提にされています。

インストールですが下記のコマンドで実施します。

sudo aptitude install netdiscover

インストールが終わったら、さくさくと実行しましょう。ちなみに、sudoを付けて実行しないと怒られます。

sudo netdiscover
Currently scanning: 10.208.205.0/8 | Screen View: Unique Hosts
2012 Captured ARP Req/Rep packets, from 14 hosts. Total size: 88320
_____________________________________________________________________________
IP At MAC Address Count Len MAC Vendor
-----------------------------------------------------------------------------
192.168.XXX.1 XX:a0:b0:XX:YY:XX 01 060 I-O DATA DEVICE, INC.
192.168.XXX.249 XX:80:f0:XX:YY:XX 01 060 Panasonic Communications Co., Ltd.
192.168.XXX.1 XX:25:36:XX:YY:XX 1121 47226 Unknown vendor
192.168.XXX.202 XX:3a:be:XX:YY:XX 624 26208 Unknown vendor
192.168.XXX.110 XX:27:eb:XX:YY:XX 193 11580 Unknown vendor
192.168.XXX.100 XX:27:eb:XX:YY:XX 01 060 Unknown vendor
192.168.XXX.214 XX:27:eb:XX:YY:XX 16 672 Unknown vendor
192.168.XXX.204 XX:3a:be:XX:YY:XX 17 714 Unknown vendor
192.168.XXX.13 XX:a0:b0:XX:YY:XX 07 420 I-O DATA DEVICE, INC.
XXX.8.XXX.1 XX:27:eb:XX:YY:XX 01 060 Unknown vendor
192.168.XXX.8 XX:ce:f6:XX:YY:XX 03 126 Unknown vendor
192.168.XXX.4 XX:d0:5a:XX:YY:XX 08 336 Unknown vendor
XXX.0.XXX.0 XX:d0:5a:XX:YY:XX 03 126 Unknown vendor
192.168.XXX.9 XX:3a:be:XX:YY:XX 16 672 Unknown vendor

こちらも、ネットワークにつながっているマシンの一覧が表示されるので便利です。

おまけ:ファイル dhcpd.leases

参考です。

コマンドではありませんが、dhcpサーバを使用している場合、下記のファイルの内容を見るとDHCP クライアントへの貸し出し内容が記録されています。60爺は、以前、dhcpサーバを採用していたので、その際の記録です(ちなみに、現在は採用を止めています)。

 ディレクトリ:/var/lib/dhcp  ファイル名:dhcpd.leases

そのファイルの内容を見てみました。

dhcpd.leasesとは、DHCPサーバが割り当てたアドレスの貸し出し記録を、永続的なデータベースに保持したものです。

当然、その記録の中には、PCの他、スマホも出てきます。その一部を例として、以下に示します。

◆例◆

# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-4.3.1
lease 192.168.XXX.XXX {          ◆ IPアドレス
starts 2 2017/01/31 10:43:14;
ends 2 2017/01/31 11:31:07;
tstp 2 2017/01/31 11:31:07;
cltt 2 2017/01/31 10:43:17;
binding state free;
hardware ethernet XX:XX:XX:XX:XX:XX;   ◆ MACアドレス
set vendor-class-identifier = "dhcpcd-5.5.6"; }

詳細の説明は、このージを見てください。

スポンサーリンク
この記事を書いた人

60爺

60路を越え、RaspberryPi と出会い、その関係でブログ開設(2017/2~)となりました。始めてみると、コツコツやるのが性に合ってしまい、漢字の記事から家の補修・将棋・windows10関係・別名・言い方などジャンルを拡大して今に至ってます。まだまだ、元気なので新たな話題を見つけて皆様に提供できればと思っています。「プロフィールはこちら

コマンド

Posted by 60爺