我正在开发基于英特尔Edison的项目(运行基于Debian的Ubilinux)。我需要爱迪生执行一些代码,我的Android手机(运行CM11)连接到与爱迪生相同的WiFi。我如何检测爱迪生的手机存在吗?我尝试了以下内容。
1.Pinging:但问题是路由器因为DHCP而每次都分配不同的IP。因此,我不会知道手机的IP地址。 有没有办法根据设备的MAC地址ping?
2。当我连接到WiFi时,我想从手机播放一个特殊的发现数据包。但是,我不知道从这个方法开始。
答案 0 :(得分:2)
找到mac-address可能会有效。基本上,您可以运行arp
命令来查看哪个mac-address与哪个IP匹配。这里有一个问题:
答案 1 :(得分:2)
Arprequest允许您在Python中“制定”MAC地址:
from arprequest import ArpRequest
>>> ar = ArpRequest('10.0.0.1', 'eth0')
>>> ar.request()
True
在循环中弹出,你有一个MAC监视器。
作为替代方案,您可以采用基于事件的方法,并使用Scapy监控来自Android设备的DHCP请求,并在看到它时采取措施。