检测Android手机是否连接到LAN

2024-10-02 08:16:16 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,伙计们,我正在为我的Raspberry Pi家庭服务器编写一个智能家庭扩展。为此,我想通过检查智能手机是否已连接到本地网络来了解是否有人在家。在

不幸的是,到目前为止,pingandroid设备在最好的情况下是不可靠的。这取决于睡眠状态,Nexus5x根本不响应ping。我也不想摆弄睡眠设置,因为那样会缩短电池寿命。在

我的路由器说设备已连接,但我不知道如何转发这些信息。有没有什么方法可以让我确定智能手机是否通过Python连接到WiFi?在


Tags: 服务器电池智能状态家庭pi情况ping
2条回答

我相信这个问题has been asked before,但我花了一些谷歌搜索才找到它。简单的回答是肯定的,但这需要了解路由器的服务、DNS和DHCP。在

好的,最简单的方法是使用映射函数的“python nmap”模块。在

import nmap
nm = nmap.PortScanner()
nm.scan(hosts='192.168.0.1/24', arguments='-n -sP -PE -PA21,23,80,3389')
hosts_list = [(x, nm[x]['status']['state']) for x in nm.all_hosts()]
for host, status in hosts_list:
     print('{0}:{1}'.format(host, status))

其中'192.168.0.1'是您的路由器IP。这将返回所有连接设备的列表,包括任何休眠的Android设备。在

^{pr2}$

不幸的是,这个pythonnmap没有使用Python3,这一点我还需要弄清楚。在

相关问题 更多 >

    热门问题