在拥有手机局域网 ip 的情况下我想要判断同局域网下手机是否还处于连接 wifi 中,应该如何做
目前的做法是每隔一段时间 ping 一下手机的 ip ,但是有个问题是,部分手机息屏后就 ping 不通了,会超时,如何解决这个问题,或者有其他的替代方案没
很多v友询问我这边对设备在线的定义,可能我表达的不是很清楚,我这里统一回复一下
我这边的需求对设备在线的定义是:设备如果是一直连着路由器的wifi,就认为是在线,如果设备离开wifi范围,或者设备关机,切换网络导致wifi断开了,就代表设备是离线状态。
1
dxgfalcongbit 2023-05-08 16:48:34 +08:00 via Android
我是在路由器里查看当前在线设备
|
2
Puteulanus 2023-05-08 16:48:34 +08:00
淘宝有卖蓝牙探针设备的,不过有点贵好像
|
3
uplee 2023-05-08 16:48:56 +08:00
以前简单搞过,记录手机的 MAC 地址,然后查局域网在线设备
|
4
chenxytw 2023-05-08 16:50:01 +08:00
一个侧信道思路(
很多路由器都有的已连接设备列表 api 。 |
5
brader 2023-05-08 16:51:29 +08:00
部分手机息屏后就 ping 不通了,会超时。
其实这个没问题的吧,我手机就会,我观察过路由器后台的在线设备列表,其实手机息屏后,设备列表就没有手机了,说明下线了,没问题的 |
7
DCELL 2023-05-08 16:54:34 +08:00
局域网广播?
|
8
wegfdhsak 2023-05-08 16:55:28 +08:00 via iPhone
扫描一下不就好了?
|
11
Tuuure 2023-05-08 16:58:02 +08:00
arp 扫描?
|
12
nigelboy 2023-05-08 17:00:21 +08:00
promethous 有个黑盒探测的插件,通过 ping 或者端口探测设备是否在线
|
13
proxytoworld 2023-05-08 17:04:24 +08:00
我怎么感觉你这是灰产
|
15
horou OP @proxytoworld 不是灰产...功能实现的是通过 ip 绑定设备,如果设备离线就解除绑定,目前就差一个设备在线的判断
|
16
Andim 2023-05-08 17:07:53 +08:00 via iPhone
iOS 上有 HE Network Tools 可以查看 arp NDP
|
17
zbatman 2023-05-08 17:08:08 +08:00
打开手机屏幕,看一下有没有 wifi 图标
|
18
debuggerx 2023-05-08 17:10:53 +08:00
mDNS/DNS-SD
|
19
greatbody 2023-05-08 17:13:25 +08:00
|
20
mk0114 2023-05-08 17:20:05 +08:00
ping 不通就是离线,息屏也是离线,没毛病。
|
21
565656 2023-05-08 17:20:34 +08:00
ios 自带私密 mac 地址,导致每一次链接 wifu 后 ip 都会变,要关下
|
22
jstony 2023-05-08 17:29:40 +08:00 1
op 如果可以给“在线”做个定义,应该就会清晰很多。比如息屏 ping 不通了,这个算在线还是不在线?如果持续 30 分钟都 ping 不通,算在线还是不在线?这个定义清晰了,op 的问题应该就迎刃而解了吧
|
23
lovelylain 2023-05-08 17:35:11 +08:00
路由器 arp 表,设备要能上网得过路由器,过了路由器就会刷新 arp 表,所以路由器 arp 表是最靠谱的。
|
24
yufeng0681 2023-05-08 17:42:58 +08:00
原始需求并没有讲到点子上。
手机设备下线,IP 解除绑定,这个场景的描述都不全。 手机不在局域网了,ip 自然就不用了,路由器自己有算法老化,让网络其他设备使用 ip 地址。 你做的服务为何需要知道手机的 ip 地址? |
25
ochatokori 2023-05-08 17:48:53 +08:00 via Android
查 iptables 看看这台机器有没有流量出来,几乎没有手机没有系统级长链接
|
26
dabang007 2023-05-08 17:52:49 +08:00
这个最简单用 ESP8266 就可以做(前提是 2.4G Wifi),定期看手机数据是否有收发,配合老化算法
|
27
miyuki 2023-05-08 20:03:51 +08:00
ping 主机名?
|
28
mohumohu 2023-05-08 21:16:46 +08:00
homeassint 自带插件就有这功能,是用的 Nmap Tracker
|
29
mgrddsj 2023-05-09 01:47:42 +08:00
其实“部分手机熄屏后就 ping 不通了”有可能是设备锁屏后会断开 WiFi 来省电导致的。
如果是 Android 手机: 部分手机在设置 - WiFi - 高级 - “在休眠状态下保持 WLAN 网络连接” - 始终,即可保持熄屏后保持 WiFi 连接。 Google 似乎在某个版本的 Android 里移除了这个选项。对于那些没有这个选项的设备,可以通过 adb 命令更改: adb shell settings put global wifi_sleep_policy 2 其中,0 = 永不,1 = 仅充电时,2 = 始终. |
31
wangtian2020 2023-05-09 08:44:32 +08:00
像小米路由器管理后台有在线设备列表的,模拟请求借路由器的管理 web 的 API 就好了
|