Centos
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
在其他作業系統上
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
我在您的 arp -a 命令輸出中看到顯示的是 10.1.0 地址,而您的 ping 有 10.101.2 它們位於不同的網路上。arp 將用於您所在的本地網路。
現在 ip neigh 是新的 arp -a 並且具有相同的行為。您必須進入該子網才能查看這些電腦的 MAC 和子網資訊。
你能 ssh 進去嗎?如果是這樣,如果您在該機器上有憑據,則可以發送遠端命令並從那裡獲取 arp。
ssh username@10.101.2.11 `ip neigh`
我沒有使用 arp-scan 但是從查看它聲明掃描本地網路的文件來看。您嘗試安裝 Mac 的電腦似乎位於另一個子網中。