如何检测网络上的 iPhone?

2024-01-06

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

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


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

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 消息组合,大约每分钟一次。看起来效果很好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检测网络上的 iPhone? 的相关文章

  • MKMapView 拦截/劫持 iPhone 触摸事件

    3 0 SDK 是否存在禁用实时缩放并拦截 MKMapView 放大手势的 bug 我有一些真正简单的代码 因此我可以检测点击事件 但有两个问题 放大手势始终被解释为缩小手势 所有缩放手势都不会实时更新地图视图 在 hitTest 中 如果
  • ReferenceError:MongoDB shell 中未定义 require

    我尝试通过 Windows 命令 Windows 8 1 从 Mongo 客户端连接 MongoDB 当我使用require 在 javascript 中 我遇到如下错误 有人有同样的问题吗 我有错过任何一个吗require有关的npm安装
  • 有一种简单的方法可以忽略时间戳来区分日志文件吗?

    我需要比较两个日志文件 但忽略每行的时间戳部分 确切地说是前 12 个字符 有没有一个好的工具 或者一个聪明的 awk 命令 可以帮助我 根据您使用的 shell 您可以改变方法 Blair https stackoverflow com
  • Bash 解析和 shell 扩展

    我对 bash 解析输入和执行扩展的方式感到困惑 对于输入来说 hello world 作为 bash 中的参数传递给显示其输入内容的脚本 我不太确定 Bash 如何解析它 Example var hello world displaywh
  • UiTextField 和 resignFirstResponder

    我有一个奇怪的设置 我有一个View called View1 and a ViewController call 视图控制器1 in IB View1是 的孩子视图控制器1 Inside View1 我使用代码创建UITextField并
  • 在 Xcode5 中使用 XCTest 时 AFNetworking 导致错误

    我正在使用 Xcode 5 现在刚刚开始对现有项目进行单元测试 为此我添加了CocoaTouch Unit Testing Bundle作为我的项目的目标 目标名称是 MyAppTests 我之前使用添加了 AFNetworking 库Co
  • 使用 posix shell 测试字符串中的正则表达式

    如何测试字符串是否与特定字符串匹配正则表达式与基本 无 bash 或任何其他 posix shell 脚本 在 if 语句中 您可以使用expr在 POSIX shell 中计算正则表达式的命令 s Abc expr s alpha 3 e
  • 核心数据对多关系。它们是延迟加载吗?

    我在核心数据 适用于 iPhone 中有典型的模型 其中包含部门和员工 部门 gt gt 员工 我不想每次加载时都加载一个部门的所有员工 所以我想将员工创建为获取的属性 我想我可以定义一些像这样的谓词 employee deparmentI
  • 是否为 Core Data 的获取结果控制器实现委托

    实现四种委托方法有什么好处 void controllerWillChangeContent NSFetchedResultsController 控制器 void 控制器 NSFetchedResultsController 控制器 di
  • 应用程序打开时处理推送通知

    我正在运行推送通知 有用 我收到通知并使用 application didReceiveRemoteNotification 获取传入数据 然后将用户发送到必要的屏幕 问题是 如果您正在使用该应用程序并收到通知 它会跳转到目标屏幕 而不会发
  • 如何在 shell 脚本中并行运行多个实例以提高时间效率[重复]

    这个问题在这里已经有答案了 我正在使用 shell 脚本 它读取 16000 行的输入文件 运行该脚本需要8个多小时 我需要减少它 所以我将其划分为 8 个实例并读取数据 其中我使用 for 循环迭代 8 个文件 并在其中使用 while
  • 树莓派的设备树驱动内核

    我想用设备树驱动的 Linux 内核启动树莓派 有什么特别的事情要做吗 谁能指出为树莓派设置基于设备树的内核启动需要什么 我可能需要有树莓派内核源代码 其中设备驱动程序应与设备树兼容 如果是这样 我在哪里可以找到 Raspberry Pi
  • 通过powershell运行ADB命令

    所以我尝试通过 powershell 脚本运行一些 ADB 命令 这是我正在尝试做的一个简单示例 adb shell echo in adb shell su root echo you are now root ls cd data da
  • 如何在 shell 脚本中操作 $PATH 元素?

    有没有一种惯用的方法从类似 PATH 的 shell 变量中删除元素 这就是我想要的 PATH home joe bin usr local bin usr bin bin path to app bin and remove or rep
  • 在带有 Storyboard 的 XCode 4 中以模态方式推送视图时,出现“对开始/结束外观转换的不平衡调用”警告

    在网上进行了一些研究但没有成功后 我来这里向您询问有关我的警告的问题 实际上 我有一个带有导航控制器的视图 V1 我想在 V1 完成加载时推送模态视图 V2 所以我用performSegueWithIdentifier方法 我正在使用故事板
  • if [ -z "${FILE_LIST}" ] 中的 -z 是什么

    遇到了这个 什么是 z在 shell 脚本中if z FILE LIST 是相同的test And man test gives z STRING the length of STRING is zero 注意 在某些平台上 是一个符号链接
  • 如何恢复消耗品应用内购买?

    我正在开发一款 iOS 游戏 用户可以通过应用内消耗品购买一定数量的内部货币 比如 1000 金币 如果用户想将余额从一台设备转移到另一台设备 如何恢复消耗品购买 在苹果的文档中 它说我们必须使用我们自己的服务器 但是如何获取用户的Appl
  • 填充 CoreData 创建的 sqlite 数据库

    我有一个由 CoreData 模型自动创建的 sqlite DB 但我的应用程序不会让用户能够将数据写入其中 而是我想用程序所需的所有数据预先填充它 我的问题是 CoreData 创建的 sqlite DB 具有未知的表和字段 这些表和字段
  • 如何在 Linux shell 中将十六进制转换为 ASCII 字符?

    假设我有一个字符串5a 这是 ASCII 字母的十六进制表示Z 我需要找到一个 Linux shell 命令 它将接受一个十六进制字符串并输出该十六进制字符串代表的 ASCII 字符 所以如果我这样做 echo 5a command im
  • CGImage/UIImage 在 UI 线程上延迟加载会导致卡顿

    我的程序显示一个水平滚动表面 从左到右平铺有 UIImageViews 代码在 UI 线程上运行 以确保新可见的 UIImageView 分配有新加载的 UIImage 加载发生在后台线程上 一切工作几乎都很好 除了每个图像变得可见时出现口

随机推荐

  • ViewHolder 不工作

    我正在关注这个教程http xjaphx wordpress com 2011 06 16 viewholder pattern caching view efficiently http xjaphx wordpress com 2011
  • Spring - 拦截器/过滤器中给定请求的 get 方法

    Various RequestMapping我里面的方法 Controller类具有我想在运行时分析的自定义注释 E g Controller RequestMapping bla RequireCommunityLevel Another
  • 无法下载nltk数据

    import nltk nltk download 表明 SSL CERTIFICATE VERIFY FAILED 的情况下requests一个可以使用verify False 但是这里该怎么办 UPDATE 此错误在 Mac OS X
  • 在多态继承层次结构中强制执行类型安全的最佳实践[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我似乎经常遇到这种情况 但尚未找到我认为可以接受的解决方案 我经常会遇到并行继承层次结构 其中一个层次结构中的方法会从另一个层次结构中将匹配的类
  • 如何将数据从 Amazon DynamoDB 导出到 MySQL 服务器

    我没有处理 Amazon AWS DynamoDB 等 Nosql 数据库的经验 我有一些数据存储在 Amazon AWS DynamoDB 中 是否可以将数据从 DynamoDB 导出到 MySQL 服务器 如果是这样 如何实现这一目标
  • 间歇性 RequireJS 加载错误

    我有一个相当大的 Backbone js 项目 它使用 RequireJS 随着项目规模的增长 这里的 规模 指的是独立模块文件的数量 间歇性错误开始出现 大多数时候 这是一个对象错误 Uncaught TypeError object i
  • 验证损失远高于训练损失

    我对深度学习模型非常陌生 并尝试使用 LSTM 和 Keras Sequential 来训练多个时间序列模型 50 年中每年有 25 个观测值 1250 个样本 因此不确定是否可以将 LSTM 用于如此小的数据 然而 我有数千个特征变量 不
  • 将 UICollectionView 滚动到底部

    我想将 UICollectionView 滚动到底部 以便最后一个项目位于视图中 我尝试使用scrollToItemAtIndexPath 但它似乎不起作用 我希望在使用 Parse com 完成查询后发生这种情况 Thanks var q
  • 更改导入模块的日志级别

    假设您的代码正在使用一个模块 使用日志语句logging info来自模块而不是logger info来自记录器实例 并且您无法控制修改正在使用的模块 是否可以只为导入的模块自定义日志记录级别 而无需请求维护人员更改代码 这些问题描述了更改
  • 无法将 System.Net.Http 包安装到 Windows Phone 7.1 Silverlight 项目中

    我使用 Nuget 安装 Microsoft ASP NET Web API 客户端库 来获取最新的 System Net Http 程序集 以便在 Windows Phone 7 1 XNA 和 Silverlight 项目中使用 它可以
  • 指定 Pandas get_dummies 的可能值列表

    假设我有一个如下所示的 Pandas DataFrame 并且我正在编码 categorical 1 以在 scikit learn 中进行训练 data numeric 1 12 1 3 2 5 5 6 8 9 9 categorical
  • Java 8 并行 forEach 进度指示

    出于性能原因 我想使用并行 Lambda 流的 forEach 循环来处理Collection在爪哇 因为这是在后台运行的Service我想使用updateProgress double double 方法 以便通知用户当前进度 为了指示当
  • 将长表转换为宽表并根据行创建列

    我有一个如下所示的数据框 Customer ID Category Products 1 Veg A 2 Veg B 3 Fruit A 3 Fruit B 3 Veg B 1 Fruit A 3 Veg C 1 Fruit C 我想找出每
  • Powershell:当元素具有“xmlns”标签时,XPath 无法选择?

    我有一个非常简单的 xml 如下所示
  • 是否可以在不发布数据的情况下更改 Azure 队列消息可见性超时?

    使用 1 6 SDK 版本 2011 08 18 您可以更改队列消息的不可见超时 然而 阅读 REST 文档 似乎表明您必须回发消息 我知道该操作是为了更新整个消息 包括不可见超时 但我只想更改不可见超时而不必重新发送整个消息 这可能吗 谢
  • Netty异步写入响应和大小未知的大数据

    我开发了一个netty http服务器 但是当我在方法ChannelInboundHandlerAdapter channelRead0中写入响应时 我的响应结果来自另一台服务器 并且结果的大小未知 因此它的http响应标头可能具有内容长度
  • 有没有办法将私有 git 存储库与 Berkshelf 一起使用

    我创建了一本名为foo 并且想要与一起使用Berkshelf 我是这样写的Berksfile cookbook foo git https bitbucket org ironsand cookbook foo git 然后将食谱卖给coo
  • PHP中的字符串是字符数组吗? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 就像在 C 中一样 我可以将字符串用
  • Kubernetes 中的 DNS 不工作

    我按照以下示例进行操作https github com GoogleCloudPlatform kubernetes tree master cluster addons dns https github com GoogleCloudPl
  • 如何检测网络上的 iPhone?

    我正在尝试检测我的 iPhone 是否与我的 Raspberry Pi 在同一网络中 我想当我在家并且我的 iPhone 已在我的 LAN 中注册时执行脚本 似乎当手机处于待机状态时 甚至找不到 iphone 同步端口 6207 tcp u