如果可能的话,我想知道如果我在路由器后面,如何获取 IP 地址的 MAC 地址。
我尝试对 IP 执行 ping 操作并检查 arp 表,但唯一的条目是路由器的 MAC。
有任何想法吗?
谢谢阅读。
答案1
MAC 地址不会通过路由器传递。您需要查看路由器的 ARP 表。
编辑:
是的,除非您有其他形式的计算机访问权限,否则这是不可能的。如果您可以进入它所在的网络(VNC、RDP、SSH),那么您就可以做到,否则不行。
如果您的路由器没有在其 Web 界面上提供 ARP 表,您可以查看是否可以 telnet :许多家用路由器具有更高级的功能,它们隐藏在 Web 界面中。
答案2
不能保证您可以看到路由器后面的机器的 MAC 地址。但有些协议可以帮助您从网络中的任何位置找到 MAC 地址。例如,当您知道 Windows PC 的 IP 地址时,要在其他网络上查找其 MAC 地址,您可以使用命令
nbtstat -A <IP Address>
要在 Linux 机器上执行相同操作(安装了 samba),请使用命令
nmblookup -R -S -A <IP Address>
如果所讨论的机器不是 Windows 机器,并且没有办法成为其他子网的一部分。那么唯一的选择就是查看路由器中的 MAC 地址表,或者如果有通用的网络范围 DHCP 服务器,那么您可以在 DHCP 日志中查看 MAC 地址。但我想您必须是管理员才能访问路由器或 DHCP 服务器。
因此,如果您的网络上有很多 Windows 机器,即使不在其子网中,您也可以找到它们的 MAC 地址。但如果网络中有很多 Linux 机器,那么就没有很好的常见方法来从其他网络查找 MAC。
上述技术在 Linux samba 服务器上不起作用。它们将始终返回 MAC 地址 00-00-00-00-00-00。
答案3
如果有问题的 IP 不在路由器的直接连接子网上,那么 MAC 将不会出现在路由器的 ARP 表中。
ARP 仅对 IP 连接的最后一跳(第 2 层)可见/相关。第一个路由实体和最后一个路由实体之间的所有内容都是第 3 层,它不使用源或目标实体的 ARP,而是使用下一个直接连接的路由实体的 ARP。
答案4
您只能“看到”位于同一子网中的主机的 mac 地址。然后,您可以使用 arp 命令列出所有 mac 地址:
arp -a
或者对于单个 IP 地址:
arp -a 192.168.0.1