关于AP如何获取station的rssi
最近在研究一个问题:如何通过AP来获取station的rssi。
具体可以拆分为以下三种情况:
1、首先station如果已经连接到AP上,这种情况很容易就能够得到station的RSSI.这里就不讨论这种情况。
2、当station并未与设定AP连接,但是这个时候station与另外一个AP连接,并且这两个AP具有相同的channel,这个时候需要通过一种方式去获取station相对于
设定AP的RSSI。
3、当station并未与设定AP连接,但是这个时候station与另外一个AP连接,当时这个时候两个AP具有不同的channel,这个时候需要通过一种方式去获取station
相对于设定AP的RSSI。
问题分析:
1、第一种情况很简单,一些ioctl就可以轻松的得到。
2、第二种和第三种情况相似,唯一的区别是channel不相同。在station与AP之间未进行连接的情况下,想要去获取station相对于AP的RSSI,只有一种方式
那就是通过AP向station发送报文,发送什么报文呢?802.11帧请求帧(proble request/null data/Qos null data/RTS)。通过实验发现发送proble request/
Qos null data 帧,station并没有做出回应,(RTS还未进行实验)。当通过AP向station发送null data帧的时候,station会返回给AP一个ACK报文,通过这
个ACK可以得到RSSI,这是在QCA 一种叫position的功能上得到的,在QCA上发送普通的null data的时候,不能将station帧收到driver上来,这里就简单通过这种方式,获取到RSSI。但是在这个测试验证的过程中发现有些网卡并不能及时的回复ACK报文,导致AP这边的发送状态始终是放失败,最终不能得到station的RSSI,这种情况还在分析原因。
分析原因很有可能是station没有跟设定AP连接,所以station就不会正面回复ACK,但是有些网卡会回复ACK,测试过程中ralink的网卡会回复,inter和realtek都不会正面回复。下面将把抓包得到的信息以图片的形式贴出来。
总之通过上面的方式不能获取所有网卡的RSSI,经过一份思索,回想起QCA里面通过一种欺骗的手段来获取ACK.
首先看看null data帧:
ACK报文内容非常简单,只有一个receiver的mac地址,
两种情况的区别在bssid,正常情况下bssid是填写的ap1的mac,而在欺骗的情况下是填写的AP2的mac,当sta收到null data的时候,发现bssid为AP2,AP2刚好是自己连接的,所以sta就会正面回复一个ACK.ACK报文对于同一channel的所有AP来说都是一样的,大家都会收到这个ACK.
关于AP如何获取station的rssi的更多相关文章
- ESP8266开发之旅 网络篇④ Station——ESP8266WiFiSTA库的使用
1. 前言 在前面的篇章中,博主给大家讲解了ESP8266的软硬件配置以及基本功能使用,目的就是想让大家有个初步认识.并且,博主一直重点强调 ESP8266 WiFi模块有三种工作模式: St ...
- ESP8266 station模式下建立client、server TCP连接
程序实现内容: 1.在station模式下,ESP8266作为client.server进行TCP连接2.实现数据的发送.接收(同时回传)实现思路:TCP网络通信分层为:应用层.网络层.数据链路层.物 ...
- ESP8266-Soft AP模式 —— 谁想连上我
AP是Access Point简称,也就是访问接入点,是网络的中心节点.一般家庭的无线路由器就是一个AP,众多站点(STA)加入到它所组成的无线网络,网络中的所有的通信都通过AP来转发完成. 软AP也 ...
- wifi mode: AP,Client,Ad-hoc,802.11s,Pseudo Ad-hoc(ahdemo),Monitor,AP(WDS),Client(WDS)
openwrt wifi mode:APClientAd-hoc802.11sPseudo Ad-hoc(ahdemo)MonitorAP(WDS)Client(WDS) http://forum.a ...
- C++ 中获取 可变形參函数中的參数
#include <iostream> #include <stdarg.h> using namespace std; int ArgFunc(const char * st ...
- Android WiFi 获取国家码
记录一下Android获取国家码的方式 Wifi 国家码获取途径 1.DefaultCountryTablefield in WCNSS_qcom_wlan_nv.bin-read during dr ...
- 使用WIFI网卡的AP功能
前几篇博客中,wifi无线网卡都工作于STA模式,那么它能否工作于AP模式.本篇博客就研究使wifi 无线网卡工作于AP模式.使用一个应用程序hostapd,关于它的介绍可以去此网站https://w ...
- ESP8266-Station模式--我想连上谁
Station模式又叫做站点工作模式,类似于无线终端 处于Station模式下的ESP8266,可以连接到AP.通过Station(简称为“STA”)模式,ESP8266作为客户端连接到路由的wifi ...
- WIFI WPA1/2 Crack for Windows
0x00 前言 目前WIFI WPA破解主要 以“aircrack-ng”为代表,运行于Linux系统( 如Kali Linux ),Windows系统比较少见,主要是Windows系统下WIFI网卡 ...
随机推荐
- CondenseNet: An Efficient DenseNet using Learned Group Convolutions
1. 摘要 作者提出了一个前所未有高效的新奇网络结构,称之为 CondenseNet,该结构结合了密集连接性和可学习的分组卷积模块. 密集连接性有利于网络中的特征复用,而可学习的分组卷积模块则可以移除 ...
- hadoop 配置注意
到目前为止,关于配置1.*版本的hadoop书籍占多数,前面配置2.*失败以后照着书籍配置1.2.1成功. 准备工具:(注意用统一位数的,我的64位) hadoop1.2.1 jdk1.6 xshel ...
- pip安装selenium时,报错“You are using pip version 10.0.1, however version 18.0 is available.”的问题
pip安装selenium,pip install selenium 类型这样错误 1 原因可能不是以管理员身份运行cmd安装selenium 2 解决方式 也是要管理员身份运行 重点在最后一句 ...
- JavaScript日常学习4
JavaScript事件 1.<button id="btn1" onclick="document.getElementById("btn1" ...
- python之reportlab生成PDF文件
项目需要,需要自动生成PDF测试报告.经过对比之后,选择使用了reportlab模块. 项目背景:开发一个测试平台,供测试维护测试用例,执行测试用例,并且生成测试报告(包含PDF和excel),将生成 ...
- Tensorflow 对上一节神经网络模型的优化
本节涉及的知识点: 1.在程序中查看变量的取值 2.张量 3.用张量重新组织输入数据 4.简化的神经网络模型 5.标量.多维数组 6.在TensorFlow中查看和设定张量的形态 7.用softmax ...
- ansible自动化运维管理工具
1.Ansible介绍 1)Ansible:Ansible的核心程序 2)Host Inventory:(默认路径:/etc/ansible/hosts)记录了每一个由Ansible管理的主机信息,信 ...
- 【嵌入式开发】树莓派h264实时视频监控
FishXX之前用VLC串流输出视频,在电脑上需要VLC播放器.试了一下,感觉还是有点延时. 今天发现一个更加流畅,也不需要VLC播放器的树莓派远程视频监控方法,直接在浏览器中打开即可. 地址:htt ...
- 20191209 Linux就该这么学(1-3)
1. 部署虚拟环境安装 Linux 系统 RPM 是为了简化安装的复杂度,而 Yum软件仓库是为了解决软件包之间的依赖关系. 2. 新手必须掌握的Linux命令 通常来讲,计算机硬件是由运算器.控制器 ...
- Solr 4.4.0增加core
假设现在我们现在需要增加一个新的core名称为"core1" 1. 在solr_home目录新建目录core1 $ mkdir /usr/local/contentplatform ...