ネットワーク接続機器のIPアドレス調査 その方法は?

1.NW接続機器のIPアドレス調査

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

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

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

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

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

  • arp コマンド
  • netdiscoverコマンド

2.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爺を含めた家族の使用しているスマホがあるため、かなりの数の機器がネットワークに接続されていることがわかります。

3.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

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

4.おまけ:ファイル 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"; }

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