关于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网卡 ...
随机推荐
- HTML+CSS实现导航栏二级下拉菜单完整代码
工具是vs code 代码如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset ...
- python开发问题
1. pip3 ''' pip3 install --upgrade pip sudo apt-get install python3-setuptools pip3 install --upgrad ...
- 2019.03.30 Dialog demo 一个标准使用的dialog程序
PROGRAM zdemo_dialog. INCLUDE zdemo_dialogtop. INCLUDE zdemo_dialogo01. INCLUDE zdemo_dialogi01. INC ...
- 使用var提升变量声明
使用var 定义变量还会提升变量声明,即使用var定义:function hh(){ console.log(a); var a = 'hello world';}hh() //undefined 不 ...
- python--006
一.函数的作用域 1.作用域在定义函数时就已经固定住了,不会随着调用位置的改变而改变 例一: name='alex' def foo(): name='lhf' def bar(): print(na ...
- A1139-引爆炸弹 计蒜客 bfs剪枝
题目链接 https://nanti.jisuanke.com/t/A1139 在一个 n \times mn×m 的方格地图上,某些方格上放置着炸弹.手动引爆一个炸弹以后,炸弹会把炸弹所在的行和列上 ...
- 病毒分析(三)-利用Process Monitor对熊猫烧香病毒进行行为分析
前两次随笔我介绍了手动查杀病毒的步骤,然而仅通过手动查杀根本无法仔细了解病毒样本的行为,这次我们结合Process Monitor进行动态的行为分析. Process Monitor Process ...
- HDU 4585 Shaolin (STL map)
Shaolin Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Sub ...
- ROS安装(国内源)
1.添加源 1.1 USTC源 sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ ...
- T2 AC自动机
T2:AC自动机 (ac.cpp) 题目背景 YZD在每天学习20小时的勤奋研究下,终于开发出了AC自动机!但是,这台AC自动机有一些bug,比如两个部件之间经常会出一些莫名其妙的问题,所以他想要随时 ...