要实现wifi上的探针模块,简单了了解了802.11中的各种帧,对一些帧的发送频率和方式也有简单了解。不过了解的都不够细致。只是简单知道手机打开wifi后回不停的向外发送probe request这个帧,然后也在不停的监听当前信道上AP广播过来的beacon帧。这里详细介绍一下802.11中的主动扫描和被动扫描。

主动扫描和被动扫描是在手机的角度来说,手机为了发现AP,必须进行扫描,通过扫描得到AP的信息,然后才能去连接。

主动扫描

主动扫描是指手机(这里的sta就用手机代替啦,其实可以是很多种形式)每隔一段时间发送probe request帧,用来询问AP的信息。probe request可以单独发给某个AP,也可以在一个信道上进行广播,当然多数时候是在一个信道上进行广播,广播完成后,会在当前信道等待一段时间,如果收到帧反馈,则做记录,如果超时,就会切换到下个信道进行广播,这里有个细节,切换到新的信道后,在广播之前,会等待一小段时间,如果这小段时间内没有收到任何信息,则说明当前信道没有AP活动,那么直接切换到下个信道。

被动扫描

被动扫描是指手机被动的接收AP发出的beacon帧,通过解析beacon帧中的信息来获取当前AP列表。手机在监听beacon帧的时候也是会不停的切换信道,保证每个信道都能监听到。这种模式下,只监听beacon帧,不发送探测帧,比较节省资源,不过获取AP列表时间相对长一些,不如主动扫描获得信息更及时,但感觉也足够用了,慢也慢不了几秒,其实是可以被用户容忍的。

手机端被动扫描和主动扫描都会实现,这样能保证更快速的发现AP,实现连接。

在手机连接AP后,协议中主动扫描和被动扫描都是被允许的,但是有些厂商可能并没有实现,因为这个并不是一个强制要求。

beacon帧的间隔是可以动态调整的,对AP来说间隔越短,就会越早被发现。probe request帧的间隔也可以调整,一般厂商都往高了调,并且连接AP以后都倾向于不发了,这样会比较省电,毕竟对于智能手机来说电池真是有点不够用。

如果一个AP想协议隐形,可以不发beacon帧,不回探测帧。
---------------------
作者:奔狼的春晓
来源:CSDN
原文:https://blog.csdn.net/lixuande19871015/article/details/77674881
版权声明:本文为博主原创文章,转载请附上博文链接!

wifi的主动扫描和被动扫描的更多相关文章

  1. Android Wifi 主动扫描 被动扫描

    介绍主动扫描,被动扫描以及连接的wifi的扫描过程 参考文档 <802.11无线网络权威指南> <80_Y0513_1_QCA_WCN36X0_SOFTWARE_ARCHITECTU ...

  2. 蓝牙4.0BLE抓包(三) – 扫描请求和扫描响应

    版权声明:本文为博主原创文章,转载请注明作者和出处.    作者:强光手电[艾克姆科技-无线事业部] 1. 扫描请求和扫描响应 广播包含扫描请求SCAN_REQ和扫描响应SCAN_RSP. 扫描请求: ...

  3. 【智能家居篇】wifi网络接入原理(上)——扫描Scanning

    转载请注明出处:http://blog.csdn.net/Righthek 谢谢! 对于低头党来说,在使用WIFI功能时,常常性的操作是打开手机上的WIFI设备,搜索到心目中的热点,输入passwor ...

  4. Burpsuite被动扫描流量转发插件:Passive Scan Client

    编译成品:链接: https://pan.baidu.com/s/1E0vsPGgPgB9bXCW-8Yl1gw 提取码: 49eq Passive Scan Client Burpsuite被动扫描 ...

  5. kali 系列学习02 - 被动扫描

    被动扫描是指目标无法察觉的情况下进行信息收集,注意有经验的渗透工程师会在信息收集上花费整个测试过程一半以上的时间,信息量太大,需要自动化的信息收集工具. 一.借鉴<kali linux2 网络渗 ...

  6. 长亭xray被动扫描

    为了实现点到哪里扫到哪里,用长亭xray配合burp suite插件 插件名为Passive Scan Client https://github.com/lilifengcode/Burpsuite ...

  7. xray与burp联动被动扫描

    最近也是刚实习了几天,看见带我的那位老哥在用xray,而且贼溜,所以我想写几篇关于xray的使用的文章 0x00 xray建立监听 在实际测试过程中,除了被动扫描,也时常需要手工测试.这里使用 Bur ...

  8. Kali学习笔记14:SMB扫描、SMTP扫描

    SMB(Server Message Block)协议,服务消息块协议. 最开始是用于微软的一种消息传输协议,因为颇受欢迎,现在已经成为跨平台的一种消息传输协议. 同时也是微软历史上出现安全问题最多的 ...

  9. 深入剖析Classloader(一)--类的主动使用与被动使用

    原文地址:http://yhjhappy234.blog.163.com/blog/static/3163283220115573911607 我们知道java运行的是这样的,首先java编译器将我们 ...

随机推荐

  1. Linux--主从复制

    一 . mysql+centos7 mariadb mariadb其实是跟mysql是一样的,只不过是在centos7上叫做mariadb, 主要是因为mysql被甲骨文公司收购后,可能会有闭源的风险 ...

  2. 【转】Spark实现行列转换pivot和unpivot

    背景 做过数据清洗ETL工作的都知道,行列转换是一个常见的数据整理需求.在不同的编程语言中有不同的实现方法,比如SQL中使用case+group,或者Power BI的M语言中用拖放组件实现.今天正好 ...

  3. Angular 框架下ng-repeat内部使用tooltip插件的办法

    普通情况下 <button type="button" class="btn btn-default" data-toggle="tooltip ...

  4. 微软发布Xamarin Live Player:Win10可开发iOS

    微软在Build2017大会上发布一款名为Xamarin Live Player的全新工具,可以让PC用户在不使用Mac的前提下测试和调试iOS应用.但是向App Store提交应用时仍然需要Xcod ...

  5. Vuex、axios、跨域请求处理和import/export的注意问题

    一.Vuex 1.介绍 vuex是一个专门为Vue.js设计的集中式状态管理架构. 对于状态,我们把它理解为在data中需要共享给其他组件使用的部分数据. Vuex和单纯的全局对象有以下不同: 1. ...

  6. Ubuntu 16.04安装MySQL(5.7.18)

    此篇为http://www.cnblogs.com/EasonJim/p/7139275.html的分支页. 安装MySQL前需要做如下了解: 1.MySQL各类型版本的区别,参考:http://ww ...

  7. [bilibili]弹幕屏蔽列表

    <filters> <item enabled="true">t=定单身</item> <item enabled="true& ...

  8. jdbc批处理进行多条数据插入

    package cn.linjun.demo; import java.sql.Connection; import java.sql.DriverManager; import java.sql.S ...

  9. 携程apollo系列-个人开发环境搭建

    本博客讲详细讲解如何在 Windows 搭建携程 Apollo 服务器 (用户个人开发). 开发服务器有多种搭建方式:(1) docker, 搭建过程非常简单, 推荐有 docker 环境(2) 部署 ...

  10. [物理学与PDEs]第2章习题12 严格凸性的转换

    设 $L=L(\xi_0,\xi_1,\cdots,\xi_n)$ 关于变量 $\xi_0>0,\xi_1,\cdots,\xi_n$ 为严格凸的. 证明函数 $$\bex M=\cfrac{1 ...