gpt4 book ai didi

iphone - 如何检测网络上的 iPhone?

转载 作者:行者123 更新时间:2023-12-03 18:26:10 25 4
gpt4 key购买 nike

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

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

最佳答案

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

Ping 不起作用,因为 iPhone 在 sleep 时不会响应 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 消息组合,大约每分钟一次。看起来效果很好。

关于iphone - 如何检测网络上的 iPhone?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16818142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com