手机在捕获 Wi-Fi 探测请求时不会发送所有存储的 ssid

2024-01-02

我使用 scapy 构建了一个脚本来捕获 monitornig wi-fi 接口中的探测请求。 我成功捕获了请求以及其中包含的一些 SSID。但手机中存储的大多数网络都不会被广播。 对于为什么会发生这种情况,还没有一个明确的模式。有些手机根本不广播 ssids。

我试图找到这种行为背后的原因的解释,但还没有找到任何解释,除了隐藏的网络应该被广播以便手机连接到它们之外,但即使这样也不是真的,而且大多数广播的内容是可见的。

另一种行为是 iPhone,它似乎只广播它们所连接的网络,而没有其他任何内容。 (无网络 -> 无 SSID)。

我尝试过将接口放在各个频道中,结果因广播网络而异,但设备中保存的绝大多数仍然没有广播。

这背后有什么原因吗?或者强制设备广播它们的方法?


您似乎假设手机会永久地对每个已知网络发出探测请求。

This is not这种情况 - 不仅适用于手机,而且适用于一般情况。引用 Wi-Fi 联盟[*]:

什么是被动扫描和主动扫描?

客户端扫描的目的是确定合适的AP 客户端may[强调我的]现在或将来需要漫游。一个客户端可以使用两个 扫描方式:主动式和被动式。在主动扫描期间, 客户端无线电传输探测请求并侦听探测 来自 AP 的响应[强调我的]。通过被动扫描, 客户端无线电在每个频道上监听信标[再次强调我的] 由 AP 定期发送。被动扫描通常需要更多时间, 因为客户端必须监听并等待信标而不是主动 探测以查找 AP。被动扫描的另一个限制是 如果客户端在通道上等待的时间不够长,那么客户端 可能会错过 AP 信标。

所以这完全取决于应用程序/操作系统

  • 电话 STA 进行主动扫描,发送探测请求,

  • 或者只是坐在那里聆听信标(或者什么也不做)。

在我的记忆中 - 我已经有几年没有工作/查看 Android 代码了,所以它可能已经改变 - Android 会not进行主动扫描,因此将not向已知 SSID 发送探测请求,unless您位于 Wi-Fi 网络设置屏幕。它只会监听信标。

这背后有一些 Wi-Fi 802.11 设计原理:

  • STA 应该是移动的。毕竟,如果你不离开 有时,使用 Wi-Fi 并没有多大意义(除了营销 或者懒惰,当然智能手机改变了这一点),你可能会这样做 好吧,接好线。

  • ...如果您是移动设备,那么可以合理地认为您正在运行 电池,

  • 所以你想节省电池寿命:所以你宁愿做被动的 扫描监听信标而不是主动扫描发送探针 请求,因为这会消耗更少的电量。

当您是 STA 时,这种省电替代功能的理念遍布 802.11 设计中的所有其他地方,隐藏在地毯下。

因此,它完全依赖于 STA 的操作系统堆栈/应用程序,如果它 1/ 仅侦听信标 /2 主动为每个已知 AP 发送探测请求 3/ 发送广播探测请求,并且如果它以连续方式这样做,或定期,或取决于它是否处于已知状态(例如屏幕打开,用户进入 Wi-Fi 网络设置屏幕)。

现在可能还有一些其他考虑因素,例如某些地区法规要求您首先收听信标来决定是否可以使用某些频道。但重点就在上面。

*:

http://www.wi-fi.org/knowledge-center/faq/what-are-passive-and-active-scanning http://www.wi-fi.org/knowledge-center/faq/what-are-passive-and-active-scanning

EDIT:

在编程方面:

1/您似乎遇到的是 IOP(互操作性)问题,因为您期望 STA 在扫描主动与被动以及所涉及的探测请求方面采取特定行为,但这不是它在现实世界中的工作方式。根据您的应用程序的最终主要目标,这可能是设计中的缺陷 - 或者只是一个小麻烦。您可能希望将自己限制在某些特定设备的品牌上,或者尝试覆盖所有情况,这会产生开发成本。

2/ ...或者您只是对自己的观察结果感到惊讶,并寻求解释。在这种令人惊讶的结果的情况下,不言而喻:直接进入wireshark来检查你的程序观察结果(如果你的程序是数据包嗅探器)或行为(如果你的程序是客户端/服务器/层XYZ协议实现)。

关于主动扫描与被动扫描以及节能的 802.11 策略:

摘自《802.11 无线网络:权威指南,第 2 版》,作者 Matthew S. Gast(“IEEE 802.11 工作组成员,并担任 802.11 Task Group M 主席。Wi-Fi 联盟无线网络管理主席”在营销任务组中,他正在领导节能、性能优化以及定位和授时服务认证要求的调查”——摘自他的出版商简介)。我强烈推荐的一本书。

p. 171:

ScanType(主动或被动)

主动扫描使用探测请求帧的传输来 识别该区域中的网络。被动扫描可节省电池电量 监听信标帧。

p. 172:

被动扫描

被动扫描可以节省电池电量,因为它不需要 传输。在被动扫描中,电台移动到每个频道 频道列表并等待信标帧。

另外,有点老了(2003 年),但这些人了解网络方面的知识。关于扫描策略:

摘自 Cisco“802.11 无线 LAN 基础知识”,第 5 章“移动性”。

第 153 页:

漫游算法

IEEE 没有定义确定何时漫游的机制 802.11 规范,因此由供应商来实施。 [...]算法留给供应商实施的事实 为供应商提供通过创造差异化优势的机会 比竞争对手新的、性能更好的算法。漫游 算法成为供应商的“秘密武器”,因此被保留下来 机密的。

第 154 页“确定漫游位置”:

没有理想的扫描技术。被动扫描具有 不需要客户端传输探测请求的好处,但是 存在丢失 AP 的风险,因为它可能不会 在扫描期间接收信标。主动扫描具有 主动寻找 AP 进行关联的好处,但需要 客户端主动发送探测。取决于实施 对于 802.11 客户端,其中一个可能比另一个更适合。为了 例如,许多嵌入式系统使用被动扫描作为首选 方法[强调我的] [...]

第 155 页上的其他有趣内容,“先发制人的 AP 发现”。

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

手机在捕获 Wi-Fi 探测请求时不会发送所有存储的 ssid 的相关文章

随机推荐