鉴于我知道我的设备的 mac 地址,我尝试以编程方式查找我的手机是否已连接到当前网络。
像这样的事情有时会起作用:
arp -a | grep "11:11:11:11:11:11"
虽然要花好几秒钟才能找到结果。有时它就是不起作用。任何帮助都非常感谢!
答案1
一般情况下,使用 ARP 表作为查找设备是否存在的机制是不可靠的。这是因为您的机器只有在最近看到来自手机的 IP 数据包时才会有 ARP 条目。
使 ARP/MAC 查找可靠工作的一种(不建议的方法)是在尝试查看 ARP 表包含的内容之前 ping 本地网络上的每个地址。这可以奏效,因为 ping 将在 ping 过程中对每个地址进行地址解析。但是 ping 本地网络上的每个可能的地址可能会被视为不合群。
另一种可能性是使用你好. Bonjour 允许设备通过无需考虑 ARP 的广播机制来相互查找。
答案2
因此,请使用nmap
。
或者设置一个静态 IP,然后就ping
可以了。
或者,如果您可以访问 Linux,请尝试以下操作:
sudo iw dev wlan0 station get <peer-MAC-address>