使用IP查找远程计算机的MAC地址


12

如果我们知道计算机的IP地址,并且假定该计算机位于我们的局域网之外,是否可以找到该计算机的MAC地址?我知道我们可以在命令提示符下使用getmacarp轻松获取局域网中计算机的物理地址,但是这些命令不适用于其他远程主机。


恐怕并非没有将其包装在某些更高层的协议中。可能有些软件可以执行此操作,但是我不知道是否鼓励这样做。我可以要求特定的用例吗?
Hexaholic

@Hexaholic,最近我对通过命令行进行网络监视感兴趣,因此在阅读了有关是否可以找到MAC地址的IP的文章之后,我想知道是否可以采用其他方法。这是问题的链接:networkengineering.stackexchange.com/questions/1491/…–
a_kris

如果您可以访问为远程LAN提供服务的DHCP服务器,则可以检查DHCP租约并将IP地址与MAC地址进行匹配。
KeyszerS

Answers:


10

获取MAC地址需要具有广播流量的能力。

ARP是一种广播协议,因此仅在LAN上可用。

路由流量之后,您将无法获得MAC地址,因为一旦它穿过路由器/ L3设备的边界,它就会从数据包中剥离出来。

交换机具有MAC表。通常,路由器具有路由表。

您只能从LAN获取MAC地址。


1
具有多路访问LAN接口的路由器也具有MAC表-由接口确定您是否具有MAC表,而不是设备的角色(路由器仍必须在L2转发,因此它们仍需要知道站位于何处)。同样,MAC通常不被L3设备剥离-它们被进行媒体转换的设备(例如,从以太网到SONET等)剥离。路由器可以更改 MAC地址,但是如果L1介质需要一个MAC地址,则报头当然仍然会存在(并包含有效值)。
尼克·巴斯汀

9

不可以。MAC地址仅在LAN上有意义。不同的LAN类型具有不同种类的MAC地址。知道不同LAN上主机的MAC地址是没有意义的。


1
另外,许多IP可以共享相同的MAC,因此对于一对一映射没有用。
ppp

0

使用DHCP服务器或已知的绑定可以找到它,我之前在Windows服务器中就已经做到了,虽然不常见,但是有可能。ARP是基于本地的,只是IP和MAC地址之间的绑定,将它们绑在一起,以促进流量流过第3层网络边界的边界.....这就是路由器的所在。MAC地址仅对于获取帧/数据包发送到路由器,然后根据MAC / IP组合再次转发。

ANgry IP扫描程序会告诉您,您可以在本地执行arp -a ...当在第3层边界处未知MAC地址时,路由器可使用此地址映射MAC地址,以协助转发数据包。每个LAN都存在MAC地址,路由器在第3层连接LAN边界,因此将两者绑定在一起。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.