从路由器后面获取IP的MAC地址

如果可能的话,我想知道如果我在路由器后面如何获得IP地址的MAC地址。

我试着对IP进行ping,然后检查arp表,但唯一的条目是路由器的MAC。

有任何想法吗?

谢谢阅读。

MAC地址不被路由器传递。 您需要查看路由器的ARP表。

编辑:

除非你有其他forms的机器,否则是不可能的。 如果你可以进入networking(VNC,RDP,SSH),那么你可以这样做,否则不行。

如果你的路由器没有给你的网页界面的ARP表,你可以看到你是否可以telnet:许多家庭路由器有更先进的function,他们从网页界面隐藏。

无法保证您可以看到路由器后面的机器的MAC地址。 但是有一些协议可以帮助你从networking的任何地方findMAC地址。 例如,要查找其他networking上的Windows PC的MAC地址,您可以使用命令知道其IP地址

nbtstat -A <IP Address> 

从Linux机器(使用samba安装)使用命令执行相同的操作

 nmblookup -R -S -A <IP Address> 

如果有问题的机器不是Windows机器,并且没有办法成为其他子网的一部分。 那么唯一的select是在路由器上看到MAC地址表,或者如果有通用的全网DHCP服务器,那么你可以在DHCP日志中看到MAC地址。 但我想你必须是pipe理员访问路由器或DHCP服务器。

因此,如果networking上有大量的Windows机器,即使不在其子网中,也可以find它们的MAC地址。 但是如果networking有很多Linux机器,那么从其他networkingfindMAC就没有很好的通用方法。

上述技术不会在Linux samba服务器上工作。 他们将始终返回MAC地址为00-00-00-00-00-00。

如果有问题的IP不在路由器的直接连接的子网上,那么MAC将不在路由器的ARP表中。

ARP只与IP连接的最后一跳(第2层)可见/相关。 第一个路由实体和最后一个路由实体之间的所有东西都是第三层,它不使用源或目的实体的ARP,而是下一个直接连接的路由实体的ARP。

我想你想知道的是 –

你怎么能find一个特定的IP(机器)MAC不是你的子网的一部分?

对于子网中的所有机器/ IP,IP-MAC表将存储在本地机器上的ARPcaching中。 这是“IP解决冲突”的相同caching。 做一个简单的

$ arp -a | grep特别IP

现在你的子网之外的机器 – 没有这个标准的架子应用程序,我试图想如果任何ICMP消息可以做到这一点,但截至目前,我认为没有。 那么联网的方式,而不是分层devise,这是一个故意不受欢迎的行为。 为了逃避或删除与现在下面的层相关的信息,并且当我们跨networking使用IP时,所以没有MAC。

看看你有没有在另一台机器的合作,你可以写一个小应用程序,封装的Mac头,并发送给你…当然,如果你有另一台机器的合作,为什么这么多的努力一个简单的ifconfig -a做的工作,那个机器上的所有接口。

您只能“看到”在同一个子网上的主机的mac地址。 然后,您可以使用arp命令列出所有的mac地址:

 arp -a 

或为一个IP地址:

 arp -a 192.168.0.1 

如果您有权访问远程PC或远程networking上的任何PC,则可以使用WMI或运行各种应用程序来为您提供MAC地址。 我想不出有什么其他方法可以得到MAC地址。

JR

你知道设备的制造商吗? 如果是这样,你可能能够获得MAC的一部分

http://aruljohn.com/mac.pl

我唯一能想到的其他事情是vxlan,但我相信设置它比直接访问具有MAC的路由器更困难。

https://tools.ietf.org/html/rfc7348

尝试namp激烈扫描: nmap -T4 -A -v IP-address -T4 nmap -T4 -A -v IP-address

我不知道路由器,但如果你有IP地址,你可以使用Nmap来获得MAC地址,即使在你的本地主机,你也可以做到这一点,为什么你要从路由器或类似的东西获取? 如果你的操作系统是Linux,你可以使用macchanger或许多其他应用程序,所以我没有idia为什么你想这样做。