Linux
在 Linux 中從 IP 地址解析 MAC 地址
我需要編寫一個 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
如果您發現您沒有可用的
arp
orfing
命令,您可以使用 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
參考