如何找到远程计算机的MAC地址?

Fre*_*ick 38 networking tcpip

我知道我自己局域网上一台主机的 IP 地址。使用它,我怎样才能找到它的 MAC 地址(而不必实际访问它)?

Lin*_*000 52

如果你在 Windows 机器上,打开一个命令框 (Start...Run...cmd),ping目标机器让你与它取得联系,然后发出命令arp -a查看你的本地 ARP 表,它会列出IP 地址及其对应的 MAC 地址,例如,

C:\Users\L3K> arp -a

Interface: 192.168.200.128 --- 0xb
  Internet Address      Physical Address      Type
  192.168.200.1         00-50-7f-c3-5c-88     dynamic
  192.168.200.2         00-50-7f-d1-e1-40     dynamic
  192.168.200.6         00-80-77-dd-a8-6b     dynamic
Run Code Online (Sandbox Code Playgroud)

如果您使用的是基于 Linux 的系统,请安装该arp-scan实用程序,然后从命令行您可以要求扫描您的网络 - 在我的情况下:

sudo arp-scan 192.168.200.0/24
Run Code Online (Sandbox Code Playgroud)

如果您使用以太网以外的接口,例如无线接口,则需要指定,例如

sudo arp-scan -I wlan0 192.168.200.0/24
Run Code Online (Sandbox Code Playgroud)

如果您不知道您使用的是什么接口,只需使用下面的相应命令即可。

ifconfig  (For Debian based OS such as Ubuntu)
ip link   (For OS like Arch Linux)
Run Code Online (Sandbox Code Playgroud)

  • 仅当其他主机位于同一 LAN 段时才有效。 (18认同)
  • @Pacerier - arp 命令显示地址解析协议缓存的内容,它将 IP 地址映射到硬件 (mac) 地址。如果您还没有联系过目标 IP 地址,那么它就不会在缓存中。Ping 是一种联系它以将其添加到缓存的简单方法。您可以使用任何网络命令,只是 ping 很简单。 (5认同)

小智 19

该命令arpingiputilslinux上的软件包一起提供。指定一个 ip 地址来 ping,它会返回 MAC 地址,即使在 LAN 上的交换机和子网之间也是如此(至少在我们的 LAN 上是这样)。

# arping -c 1 -I eth0 10.100.10.11
ARPING 10.100.10.11 from 10.100.10.25 eth0
Unicast reply from 10.100.10.11 [00:22:68:88:F3:90]  0.594ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)
Run Code Online (Sandbox Code Playgroud)


小智 8

尝试

getmac /s hostname
Run Code Online (Sandbox Code Playgroud)

或者:

getmac /s IP
Run Code Online (Sandbox Code Playgroud)

您需要对机器进行管理员访问才能执行此操作。


Ofi*_*fir 1

只要没有网关在计算机之间路由流量,任何嗅探器都会向您提供此信息。