Centos: ローカルマシンの MAC アドレスを取得する

Centos: ローカルマシンの MAC アドレスを取得する

多数のマシンがあるローカル ネットワークがあります。CentOS サーバーから特定の IP の MAC アドレスを取得する必要があります (数百の IP に対してこれを自動化する必要があります)。

ping + arp -a を試しましたが、どうやらこの IP を追跡していないようです。

ping -c 3 10.101.2.11
PING 10.101.2.11 (10.101.2.11) 56(84) bytes of data.
64 bytes from 10.101.2.11: icmp_seq=1 ttl=63 time=0.531 ms
64 bytes from 10.101.2.11: icmp_seq=2 ttl=63 time=0.564 ms
64 bytes from 10.101.2.11: icmp_seq=3 ttl=63 time=0.576 ms

--- 10.101.2.11 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.531/0.557/0.576/0.019 ms

$ arp -a
? (10.1.0.101) at xx:xx:xx:xx:xx:xx [ether] on eth0
? (10.1.0.11) at xx:xx:xx:xx:xx:xx [ether] on eth0
gateway (10.1.0.1) at xx:xx:xx:xx:xx:xx [ether] on eth0
? (10.1.0.102) at xx:xx:xx:xx:xx:xx [ether] on eth0


他の OS ではarp-scanデバイスの MAC を取得する解決策があるかもしれませんが、CentOS では出力は単純です。

$: arp-scan 10.101.2.11
Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.9.2 with 1 hosts (http://www.nta-monitor.com/tools-resources/security-tools/arp-scan/)
4 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.9.2: 1 hosts scanned in 1.815 seconds (0.55 hosts/sec). 0 responded

答え1

arp -a コマンドの出力には 10.1.0 アドレスが表示されていますが、ping には 10.101.2 が表示されています。これらは異なるネットワーク上にあります。arp は、現在接続しているローカル ネットワーク用になります。

現在、ip neigh は新しい arp -a であり、同じ動作をします。これらのコンピューターの Mac とサブネットの情報を表示するには、そのサブネットにアクセスする必要があります。

SSH で接続できますか? できる場合、そのマシンに資格情報があれば、リモート コマンドを送信してそこから arp を取得できます。

ssh [email protected] `ip neigh` 

私は arp-scan を使ったことがありませんが、ドキュメントを見ると、ローカル ネットワークをスキャンすると書かれています。Mac に接続しようとしているコンピューターは別のサブネットにあるようです。

答え2

ターゲットは別のネットワーク上にあるようです。10.1.0.1 がゲートウェイであると伝えられていますが、ターゲット (IP 10.101.xx) の MAC アドレスは示されていないため、ターゲットは別のネットワーク上にある可能性があります。10.1.0.1 から 10.101.0.0 までのアドレスがあると、ネットワーク上に約 60 万台のマシンが存在することになります...

ネットワーク設定(ネットワーク マスク、ルーターなど)を確認します。

関連情報