Answers:
如果目标设备和您的* nix框位于同一IP子网上(我具体指的是一个真正的IP子网,不是同一个交换机,相同的VLAN,甚至是同一个广播域,或者其他任何有时被称为一个“子网”通俗地说),以及他们是否有机会交谈,相互交谈已经,那么目标设备的IP - > MAC地址的映射可能已经在你的Unix机器的ARP表。你可以arp -a
看看桌子。
如果它们在同一个子网上但尚未相互通信,则通常可以通过ping所有主机多播地址(224.0.0.1)或子网广播地址来强制它。
如果您不在同一个IP子网但是在同一个多播/广播域上,则可以通过运行嗅探器并从目标MAC地址查看多播或广播来获取其IP地址:
sudo tcpdump -nei $INTERFACE ether host $MAC
...其中$ INTERFACE是您想要监听的接口(可能是“en0”或“eth0”或类似的东西),$ MAC是您正在寻找的MAC地址。
要在使用嗅探器观看时触发目标设备发送多播或广播,您可以执行以下操作:ping上面提到的地址,或者重新启动目标设备,或者从交换机上拔下设备(或电源 - 循环开关)。大多数设备更有可能在启动时发送广播和多播,或者在网络链接断开一段时间后发送。
arp -an
将跳过名称解析,因此可以明显快于arp -a
特别是在Android或嵌入式设备上。