Linux

在 Linux 中從 IP 地址解析 MAC 地址

  • March 17, 2022

我需要編寫一個 bash 腳本,其中我必須創建一個文件,其中包含主機的 IP 地址及其與相應 MAC 地址的映射的詳細資訊。

當主機的 IP 地址可用時,是否有任何可能的方法可以找出任何(遠端)主機的 MAC 地址?

如果您只想找出給定 IP 地址的 MAC 地址,您可以使用該命令arp查找它,一旦您 ping 了系統 1 次。

例子

$ ping skinner -c 1
PING skinner.bubba.net (192.168.1.3) 56(84) bytes of data.
64 bytes from skinner.bubba.net (192.168.1.3): icmp_seq=1 ttl=64 time=3.09 ms

--- skinner.bubba.net ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 3.097/3.097/3.097/0.000 ms

現在在 ARP 表中查找:

$ arp -a
skinner.bubba.net (192.168.1.3) at 00:19:d1:e8:4c:95 [ether] on wlp3s0

抓住

如果您想掃描整個 LAN 的 MAC 地址,您可以使用命令行工具fing來執行此操作。它通常未安裝,因此您必須下載並手動安裝。

$ sudo fing 10.9.8.0/24

    例子

使用ip

如果您發現您沒有可用的arporfing命令,您可以使用 iproute2 的命令ip neigh來查看系統的 ARP 表:

$ ip neigh
192.168.1.61 dev eth0 lladdr b8:27:eb:87:74:11 REACHABLE
192.168.1.70 dev eth0 lladdr 30:b5:c2:3d:6c:37 STALE
192.168.1.95 dev eth0 lladdr f0:18:98:1d:26:e2 REACHABLE
192.168.1.2 dev eth0 lladdr 14:cc:20:d4:56:2a STALE
192.168.1.10 dev eth0 lladdr 00:22:15:91:c1:2d REACHABLE

參考

引用自:https://unix.stackexchange.com/questions/120153