如何在网络上检测 iPhone?

Posted

技术标签:

【中文标题】如何在网络上检测 iPhone?【英文标题】:How do I detect iPhone on network? 【发布时间】:2013-05-24 23:08:52 【问题描述】:

我正在尝试检测我的 iPhone 是否与我的 Raspberry Pi 在同一个网络中。当我在家并且我的 iPhone 已在我的 LAN 中注册时,我想执行一个脚本。

似乎当手机处于待机状态时,甚至找不到 iphone-sync 端口(6207/tcp)。 “/usr/bin/nmap -n -sT -p62078 [我手机的本地 IP]”显示没有主机。我想知道我还能扫描什么。显然,手机已在线并准备好接受 facetime 通话(通过 3G 传输的数据已停用)。我可以用我在 Raspberry Pi 上使用的 avahi 完成一些事情吗,或者有其他方法吗?

【问题讨论】:

我已经放弃了,现在正在使用蓝牙定期检查我的 iPhone 是否在范围内。 如果有人遇到这种情况并想知道如何使用蓝牙检测存在:我尝试解析我的(已知)设备地址的名称 (sudo hcitool name xx:xx:xx:xx:xx:xx)。如果我得到有效响应,则手机在 BT 范围内。 【参考方案1】:

我刚刚花了一周的时间来解决这个问题,这样我就可以避免在我妻子上班时向她发送 SMS 家庭警报。

Ping 不起作用,因为 iPhone 在睡眠时不会响应 ICMP。读取 ARP 缓存不起作用,因为睡眠中的 iPhone 会来来去去(每 30 秒检查几分钟)。

我发现“可靠”确定我的两部 iPhone 何时在我的本地(家庭)网络上的唯一方法是使用 PCAP dotnet 库来查找来自任一电话 MAC 地址的任何数据包。例如,如果您使用捕获过滤器运行 Wireshark

ether src <iphone-mac-address>

您会看到来自手机的大量网络发现/公告流量。它仍然有静止状态,但到目前为止,我看到的捕获数据包之间的最长间隔约为 10 分钟。在宣布它不在家之前,您必须等到您在一段时间内(我使用 15 分钟)没有接到电话。

假设您的电话已配置为 DHCP,您将在重新加入家庭网络时快速找到电话。我还在我的主以太网交换机上使用端口镜像来包含来自我的无线接入点的流量。

我没有 Raspberry Pi 解决方案,因为我的 linux 专业知识非常有限,但其他人可能能够在这些方面为您提供帮助。我有一个使用 PCAP 库的 Windows 服务,到目前为止它工作可靠,限制是在确定 iPhone 离开网络之前等待 15 分钟。

* 2018 年 2 月 3 日更新 *

我将这种检测算法缩短到大约 5 分钟,使用定向到每部手机的 ping/arp 消息的组合,大约每分钟一次。似乎工作得很好。

【讨论】:

【参考方案2】:

您可以为此执行“arp-scan -l -r10”(我自己对此进行了测试),但问题是如果启用了移动数据,如果屏幕锁定到安全电池,iphone 将进入并暂停 wifi。所以你需要禁用移动数据..然后 arp-scan 将起作用。

【讨论】:

您知道 iPhone 在锁定时连接 WiFi 的频率吗?我正在考虑建筑物中人员的存在检测,如果有大约半小时的准确性,那应该不是问题。 在下面查看我的半个 *** d 答案。锁定/休眠的 iPhone 会发送大量的低层网络流量,这可以为您提供约 20 分钟的分辨率精度【参考方案3】:

您可以通过调查您的 arp 缓存找到网络上的设备列表。

arp -a

只需编写一个bash脚本,定期运行arp -a,然后搜索你手机的mac地址。

您可以更进一步,根据连接的设备品牌执行不同的操作。

mac 地址的前 3 个十六进制数字是供应商 ID。

取下面的mac地址:

00:19:E3:AB:CD:EF

00:19:E3:是苹果设备注册的mac地址之一。

通过将您网络上的设备与this list 进行比较,您可以检测到例如“3com”设备或“dell”设备何时连接到您的网络。

http://www.coffer.com/mac_find/?string=apple

【讨论】:

感谢您的提示。遗憾的是,iPhone 在不使用时会进入某种深度睡眠模式。 arp 缓存没有显示我的四个 iDevice 中的任何一个。

以上是关于如何在网络上检测 iPhone?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iPhone 模拟器上打开位置检测

iPhone 模拟器 - 如何检测应用程序何时在模拟器上运行(因此可以设置测试数据)?

在 React Native 的 iPhone 设置上手动禁用后如何检测 PushNotificationIOS 状态?

如何保护来自 iphone 的网络服务 URL?

如何在 iPhone SDK 中检测 PDF 文档的方向

iPhone WebApps,有没有办法检测它是如何加载的?主屏幕与 Safari?