网卡抓包利用beacon帧测量wi-fi热点功率
- 前言
-
- beacon发送速率和模式
- 使用iwconfig查看网卡设备信息
- 首先利用iw关闭网卡进入 monitor模式。
- 安装wireshark抓包分析工具
- tcpdump抓包
- 也可以用C++或python直接处理数据
- 参考链接
前言
因为项目需要比较精确和快速的获取wifi热点信号接收功率,网上教程不够全面,在此整理。
最开始项目方案打算用hack-rf直接采集无线信号计算功率,但是工作地点热点过多,无法准确辨认自己的无线路由器发射的信号,遂采用笔记本无线网卡抓包的方案。
beacon发送速率和模式
Beacon帧是所有基于802.11协议的无线热点用来建立连接,宣告自己存在的管理帧。Beacon帧的发送时间周期稳定,信号强度大,调制方式简单基本,且一般会包含ESSID(wifi热点的名称)信息,比较方便进行身份识别。
- 在2.4Ghz频段,一般使用802.11b协议,以1mpbs的速度,DSSS直接序列扩频的方法,调制发送beacon,兼容11g。
- 在5Ghz频段,使用802.11a,6mbps的模式发送beacon,6bmps是11a的最低速率啦。
beacon的发送间隔一般为100ms,但是可以在路由器的设置界面设置。
使用iwconfig查看网卡设备信息
~$ iwconfig
可以查看网卡工作模式,发射功率,接收信号功率和连接速度(连接速度由网卡物理层协议自适应调整,beacon 等管理帧一般工作在802.11协议最原始协议的最低速度,方便建立)
有网络连接时一般工作在Manged 模式。
首先利用iw关闭网卡进入 monitor模式。
查看网卡支持模式,和接口名称
iw list
添加一个虚拟网卡接口,将下面指令的wlan0改为自己的网卡接口(interface)名称,mon0为虚拟网卡的名称。
sudo iw dev wlan0 interface add mon0 type monitor
启动虚拟网卡
sudo ifconfig mon0 up
若抓包完成后,希望删除虚拟接口
sudo iw dev mon0 interface del
安装wireshark抓包分析工具
开源软件wireshark集抓包,分析于一体,在monitor模式下可以抓取到网卡自动添加的Radiotap协议层,它提供了无线协议帧相关信号强度、噪声强度、信道、时间戳等信息。
wireshark直接安装即可
sudo apt-get install wireshark
打开软件
sudo wireshark
在设置中选中mon0的Monitor模式点击start,点击左上角鲨鱼鳍开始抓包。
点击某一个包,下拉选择感兴趣的数据如发送端的mac地址,可以右键选择filter,回车,筛选出目标无线路由器的发送数据包,通过wireshark自带的statistics工具中的I/O graph可以绘制无线网卡接收到的目标WAP的帧功率强度随着时间变化的曲线。
tcpdump抓包
在实际接收过程中发现直接通过wireshark捕获的包数量很慢且不全,暂时未找到可以设置网卡信道的方法。尝试了使用tcpdump工具进行抓包,抓包后将保存好的文件用wireshark打开分析。
设置无线网卡工作信道,这一步似乎有问题,新建的虚拟网卡无法调整接收信道,如果出现device or resource busy 这个选项则可直接跳过信道设置。
ifconfig #查看链接状态
sudo ifconfig mon0 down
sudo iw dev mon0 set channel 1#设置工作信道
sudo ifconfig mon0 up
使用tcpdump抓包
sudo tcpdump -i mon0 -w test1.pcap
在wireshark中打开后发现,漏包是mon1虚拟网卡的原因,直接将网卡改为monitor模式会好很多。
iwconfig #查看网卡信息
在设备右上角关闭wi-fi,也可以使用
service network-manager start
更改自己的网卡为monitor模式
sudo iwconfig wlx30b49e22ab5b mode moniter
如果返回SIOCSIFFLAGS: Operation not possible due to RF-kill
错误则
sudo rfkill unblock wifi
sudo rfkill unblock all
之后开启wifi
sudo ifconfig (your device name)up
iwconfig #Mode:Monitor表示成功
再使用tcpdump抓包
sudo tcpdump -i mon0 -w test1.pcap
也可以用C++或python直接处理数据
Radiotap头信息解析
无线网络嗅探中的Radiotap
参考链接
iw用法
使用IW工具配置和连接WIFI
ubuntu 下 开启无线网卡的monitor mode
Ubuntu下用wireshark抓取802.11封包并进行过滤分析
过滤规则
无线破解Aircrack-ng套件详解(一)--airmon-ng与airodump-ng