首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检测Android手机是否已连接到LAN

检测Android手机是否已连接到LAN
EN

Stack Overflow用户
提问于 2017-10-04 03:24:14
回答 2查看 1.7K关注 0票数 0

大家好,我正在为我的树莓派家庭服务器编写一个智能家居扩展。为此,我想通过检查智能手机是否连接到本地网络来了解是否有人在家。

不幸的是,到目前为止,在最好的情况下,pinging设备是不可靠的。这取决于休眠状态,并且Nexus 5X完全不响应ping。我也不想摆弄睡眠设置,因为那会降低电池寿命。

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

EN

回答 2

Stack Overflow用户

发布于 2017-10-04 03:36:42

我相信这个问题has been asked before,但我花了一些谷歌找到它。简而言之,答案是肯定的,但这需要您对路由器的服务、DNS和DHCP有所了解。

票数 0
EN

Stack Overflow用户

发布于 2017-10-05 05:29:19

好的,最简单的方法是使用'python-nmap‘模块来映射函数。

代码语言:javascript
运行
复制
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设备。

代码语言:javascript
运行
复制
192.168.178.1:up
192.168.178.2:up
...

不幸的是,这个python-nmap没有使用Python3,这是我还需要解决的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46551928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档