LAN内で使われているIPアドレスを調べる6つの方法(Linux/Windows)
Pocket

今回は、LAN内で利用されているIPアドレスを調べる方法についてをまとめてみた。
環境によっては使用されているOSが複数ある場合がある(というか、その方が多い)ので、LinuxとWindowsで分けて記載する。

1.Linuxの場合

1-1.ping + arpで調べる

基本的なコマンドしかインストールされていない環境では、やはりpingとarpコマンドを組み合わせた方法が良く利用されるだろう。
以下のようにforコマンドと組み合わせて実行することで、IPアドレスとそれに対応するMACアドレスを取得することが出来る。

for a in `seq 1 254`; do ping -c 1 -w 0.5 対象セグメント(第3オクテットまで).$a > /dev/null && arp -a 対象セグメント(第3オクテットまで).$a | grep ether; done
test@ubuntu-server:~$ for a in `seq 1 254`; do ping -c 1 -w 0.5 192.168.0.$a > /dev/null && arp -a 192.168.0.$a | grep ether; done
? (192.168.0.1) at 1c:bX:7f:X4:2d:3c [ether] on eth0
? (192.168.0.XX) at 00:X5:b7:03:X3:X7 [ether] on eth0
・
・
・

1-2.『nmap』コマンドを利用する

もしその環境にnmapコマンドが入っているマシンがあるならば、以下のようにsPオプションを付与してnmapコマンドを実行することで、ローカルのIPアドレス一覧が取得出来る。
※sPオプションはICMPと80番ポートへの疎通確認を行うオプションなのだが、権限が弱いユーザ(一般ユーザ)でコマンドを実行すると80番ポートへのスキャンのみ行われるので注意。

nmap -sP ネットワークアドレス(192.168.0.0/24や192.168.0.*)
test@test-vm-ubuntu:~$ sudo nmap -sP 192.168.0.0/24

Starting Nmap 6.40 ( http://nmap.org ) at 2015-05-17 12:05 JST
Nmap scan report for 192.168.0.1
Host is up (0.00083s latency).
MAC Address: 1C:BX:7X:XX:2D:XC (NEC AccessTechnica)
Nmap scan report for 192.168.0.XXX
Host is up (-0.085s latency).
MAC Address: 0X:1X:XX:DD:X8:XX (Dell ESG Pcba Test)
・
・
・

1-3.『arp-scan』コマンドを利用する

以前こちらで紹介した事があるツール『arp-scan』コマンドを利用することで、ローカルネットワーク内で利用されているIPアドレスの一覧を取得することが出来る。
このコマンドの場合、ただ単純にpingを打ち続けるようなものではなく、tcpdumpを利用して一覧を取得している。

arp-scan -I インターフェイス名 -l
test@test-vm-ubuntu:~$ sudo arp-scan -I eth0 -l
Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.8.1 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
192.168.0.1     1c:bX:7f:X4:2d:3c       (Unknown)
192.168.0.XXX   0X:1X:XX:DD:X8:XX       Dell Inc
192.168.0.XYZ   0X:Xa:6X:XX:0a:XX       Data Robotics, Incorporated
・
・
・

1-4.『netdiscover』コマンドを利用する

こちらの記事でも紹介したツール。
コマンドを実行することでネットワーク内を監視し続け、新しいMACアドレスやIPアドレスを検知するとコンソール上に出力されている一覧に追記していく。

netdiscover -r ネットワークアドレス/サブネット

20150429_000008

 

Sponsored Links

2.Windowsの場合

2-1.ping + arpで調べる

Windowsでローカルネットワーク内を調べる場合でも、pingとarpを組み合わせる方法は有効だ。
以下のようにコマンドを実行することで、指定したネットワーク内のIPアドレスにpingを実行し続け、arpテーブルに記録していく。

for /l %i in (0,1,255) do ping -w 1 -n 1 192.168.0.%i && arp -a 192.168.0.%i

 

後は、「arp -a」コマンドを実行して現在利用されているIPアドレスを確認するだけだ。

2-2.『SoftPerfect Network Scanner』を利用する

Windowsでping + arpを用いた方法以外でローカルネットワーク内のIPアドレスを調べる場合、GUIで操作出来るソフトが多く出ている。
もしフリーソフトをダウンロード出来る環境なのであれば、その中でも比較的扱い易い『SoftPerfect Network Scanner』を利用して調べると良いだろう。

20150517-000000

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

This article has 1 comments

  1. Pingback: Raspberry Piの起動とipアドレス固定、SSH接続

Leave a Comment

メールアドレスが公開されることはありません。