Nmapまたはarp-scanを使用して、特定のマシンからIP/MACアドレスに対して可変で一貫性のない結果が得られるようです。
マシンには3つのインターフェイスがあり、これが表示されます。
$ uname -a
Linux showstore-81 2.6.35.13 #1 SMP PREEMPT Thu Feb 9 12:20:36 PST 2012 i686 GNU/Linux
$ LC_ALL=C /sbin/ifconfig
eth0 Link encap:Ethernet HWaddr 00:1b:21:ac:17:19
inet addr:192.168.81.54 Bcast:192.168.81.255 Mask:255.255.255.0
...
eth1 Link encap:Ethernet HWaddr 00:25:90:25:d0:4e
inet addr:192.168.81.129 Bcast:192.168.81.255 Mask:255.255.255.128
...
eth2 Link encap:Ethernet HWaddr 00:25:90:25:d0:4f
inet addr:169.254.1.1 Bcast:169.254.255.255 Mask:255.255.0.0
...
したがって、使用するツールとオプションが何であれ、次のことを期待します。
だが nmap -n -sP 192.168.81.0/24
(nmapv。5.00)はそれを報告します逆転:
Host 192.168.81.54 is up (0.000078s latency).
MAC Address: 00:25:90:25:D0:4E (Super Micro Computer)
Host 192.168.81.129 is up (0.000058s latency).
MAC Address: 00:1B:21:AC:17:19 (Intel Corporate)
そしてnmap -n -sP -PR 192.168.81/24
レポートのみ両方のIPのMACアドレスの1つ:
Host 192.168.81.54 is up (0.000081s latency).
MAC Address: 00:1B:21:AC:17:19 (Intel Corporate)
Host 192.168.81.129 is up (0.00011s latency).
MAC Address: 00:1B:21:AC:17:19 (Intel Corporate)
最後に、 arp-scan -l
(v。1.8.1)レポート両方のIPアドレスと両方のMACアドレス:
192.168.81.54 00:1b:21:ac:17:19 Intel Corporate
192.168.81.54 00:25:90:25:d0:4e Super Micro Computer, Inc.
192.168.81.129 00:1b:21:ac:17:19 Intel Corporate
192.168.81.129 00:25:90:25:d0:4e Super Micro Computer, Inc.
正しい結果が得られるスキャンを実行するにはどうすればよいですか? (IPとMACのみが必要です。ポートスキャンは必要ありません。)
一つには、一貫性のない/重複するサブネットを使用しています。 192.168.81.129/25は192.168.81.54/24の一部です。したがって、最初に、ifconfigeth0ネットマスク255.255.255.128を実行します。次に、eth0がeth1と同じネットワークに接続されていることしか想像できないので、コンピューターがARPに応答する速度を制限する必要があります。
次のsysctlエントリは、手動または/etc/sysctl.confで設定する必要があります。
net.ipv4.conf.all.rp_filter=1 net.ipv4.conf.all.arp_filter=1 net.ipv4.conf.all.arp_announce=1 net.ipv4.conf.all.arp_ignore=2 net.ipv4.conf.all.shared_media=0
これを更新して、より多くの情報を含めます。通常、Linuxは、要求されたIPが応答で構成されているかどうかに関係なく、NIC要求を受信した)のMACアドレスを使用してコンピューターに割り当てられたIPアドレスのARP要求に応答します。 NICかどうか。また、Linuxは、デフォルトで、コンピューター上でローカルに構成されたIPアドレス宛ての任意のNICでIPパケットを受け入れます。したがって、
上記のsysctl設定は、そのIPが割り当てられているNIC)で受信され、要求が到達可能なIPアドレスからのものである場合にのみ、LinuxがIPのARP要求に応答するように動作を制限します。そのNICを介して。チューナブルは、カーネルソースディストリビューションのファイルip-sysctl.txtに記載されています。
あなたが見ているのは意図された行動であり、私が提案しているのは、あなたが望むように見えるように行動するように物事を変えることです。幸運を。