谷动谷力

 找回密码
 立即注册
查看: 2717|回复: 0
打印 上一主题 下一主题
收起左侧

通信之WLAN(WiFi6抓包方法)

[复制链接]
跳转到指定楼层
楼主
发表于 2022-10-12 17:38:13 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
通信之WLAN(WiFi6抓包方法)
欢迎大家一起学习探讨通信之WLAN。上节我们探讨了关于802.11ax协议添加的新特性,从上节了解可知,802.11ax 定义了HE PPDU格式,所以不支持WiFi6的普通网卡是无法正常抓取到WiFi6的协议帧。本节整理了WiFi6协议帧的抓取方式,供大家参考。


/sys/kernel/debug/*/he_sniffer_params","marks":[]}]}],"state":{}},{"type":"block","id":"05im-1661761767786","name":"paragraph","data":{"style":{"textIndent":0}},"nodes":[{"type":"text","id":"zvDI-1661761767785","leaves":[{"text":"本节对WiFi6协议帧的抓取进行了整理分析,如对WiFi6相关功能感兴趣可通过以上方法搭建抓取空口帧的环境,进一步分析相关流程和帧类型,本节的分享,希望对大家在后续工作和分析WiFi6相关协议问题时能有所帮助。第二十七节分享就到此,后续期待共同继续探讨学习。","marks":[{"type":"fontFamily","value":"SimSun"}]}]}],"state":{}},{"type":"block","id":"XoCb-1661525181053","name":"paragraph","data":{"version":1},"nodes":[{"type":"text","id":"HHUm-1661525181051","leaves":[{"text":"注:","marks":[{"type":"fontSize","value":16},{"type":"fontFamily","value":"SimSun"}]}]}],"state":{}},{"type":"block","id":"NE1S-1661525181588","name":"paragraph","data":{"version":1},"nodes":[{"type":"text","id":"tl2v-1661525181587","leaves":[{"text":"对以上所述专业知识有修正意见或建议,可随时留言反馈。谢谢大家支持~!","marks":[{"type":"fontSize","value":16},{"type":"fontFamily","value":"SimSun"}]}]}],"state":{}}]" style="outline: 0px; max-width: 100%; visibility: visible; box-sizing: border-box !important;">
我们要捕获抓取WiFi6的空口交互协议帧,首先,要选择一款支持WiFi6的模块。网上查看了相关网站和帖子,经过实测,借助wireshaek工具和Intel的AX200/AX210 WiFi模块,可以捕获WiFi6的相关协议帧。


(1)环境搭建硬件需求:

    • WiFi6路由器
    • 支持WiFi6的设备
    • 一台支持将WiFi模块替换成AX200/AX210 WiFi6无线网卡的电脑。
    • AX200/AX210无线网卡一块


(2)环境搭建软件需求:

    • 安装运行Ubuntu系统的笔记本电脑(20.04版本免安装驱动)
    • Ubuntu系统需按软件aircrack-ng,wireshark,ifconfig
      安装命令如下:

        sudo apt -y install wireshark
        sudo apt-get install aircrack-ng
        sudo apt-get intsall ifconfig

好~!准备好以上抓取WiFi6协议帧软硬件的需求后,可开始尝试抓取WiFi6的协议帧。


  • 第一步:建立一个WiFi6无线网络,可将路由器无线网络模式设置为包含11ax的模式,有的路由器需要勾选启动WiFi6选项。
  • 第二步:启动抓包电脑的ubuntu系统,开启WiFi,通过ifconfig查看WiFi对应的接口名称。如个人电脑接口为wlp2s0。
  • 第三步:启动WiFi对应的网卡,并设置信道,

    sudo airmon-ng check kill
    sudo airmon-ng start wlp2s0(接口名称) 11(信道)
    sudo wireshark

  • 第四步:wireshark软件启动后,选择开始从wlp20接口捕获,用WiFi6设备连接路由器,进行数据上传或下载业务,捕获完成后,通过如下命令,在ubuntu系统终端停止WiFi对应的monitor模式。
    sudo airmon-ng stop wlp2s0mon


上节遗留问题“WiFi6 OFDMA特性,同一时间路由器和多个WiFi6设备同时进行数据帧传输,如何抓取其协议帧?”


通过上节介绍可知,WiFi6 OFDMA特性路由器将给每个设备指定信道资源,并统一调度WiFi6设备协议帧接收和发送。当前,通过wireshark一块无线网卡无法做到同一时间追踪捕获多个协议帧。

因此,要抓取OFDMA特性的相关协议帧,我们在抓包前需要做特殊设置。目前抓取WiFi6协议帧方式,可通过设置he_sniffer的参数,根据WiFi6设备的AID和MAC地址,指定抓取某个设备的OFDMA特性的相关协议帧。具体设置如下:

echo 1 00:00:00:00:11:22 > /sys/kernel/debug/*/he_sniffer_params


本节对WiFi6协议帧的抓取进行了整理分析,如对WiFi6相关功能感兴趣可通过以上方法搭建抓取空口帧的环境,进一步分析相关流程和帧类型,本节的分享,希望对大家在后续工作和分析WiFi6相关协议问题时能有所帮助。第二十七节分享就到此,后续期待共同继续探讨学习。




+10
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-12-27 18:16 , Processed in 0.089619 second(s), 42 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表