5

我正在开发一个基于英特尔爱迪生(运行基于 Debian 的 Ubilinux)的项目。我需要爱迪生执行一些代码,我的 android 手机(运行 CM11)连接到与爱迪生相同的 WiFi。我怎样才能检测到我的手机在爱迪生?我尝试了以下方法。

1.Pinging:但问题是路由器每次分配不同的IP,因为DHCP。所以,我不会知道我手机的IP地址。有什么方法可以根据设备的 MAC 地址 ping 通吗?

2.我想从我的手机广播一个特殊的发现数据包,只要它连接到WiFi。但是,我不知道从哪里开始这种方法。

4

2 回答 2

2

找到mac地址可能会起作用。基本上,您可以运行arp命令来查看哪个 MAC 地址与哪个 IP 匹配。这里有一个关于这样做的问题:

使用 Python 从设备获取 MAC 地址

于 2015-03-27T14:37:57.990 回答
2

Arprequest允许您在 Python 中“解析”MAC 地址:

from arprequest import ArpRequest
>>> ar = ArpRequest('10.0.0.1', 'eth0')
>>> ar.request()
True

在循环中弹出它,你就有了一个 MAC 监视器。

作为替代方案,您可以采用基于事件的方法并使用 Scapy 来监控来自您的 Android 设备的 DHCP 请求,并在它看到它时采取行动。

于 2015-03-27T14:52:19.250 回答