wifi数据包解析_解析WiFi数据包(libpcap)

wifi数据包解析_解析WiFi数据包(libpcap)我一直在努力使OpenWRT路由器将WiFi探测器请求发送到MySQL数据库(它存储每个探测请求数据包的MAC地址和RSSI信息以及其他路由器特定的数据).在对libpcap进行了大量的研究之后,我已经能够拼凑一个基本的小程序,只需使用过滤器表达式(‘wlansubtypeprobe-req’)在监视器界面(mon0)上嗅探数据包,然后打印出原始数据包在十六进制.使用libpcap上可以在线获…

大家好,又见面了,我是你们的朋友全栈君。

我一直在努力使OpenWRT路由器将WiFi探测器请求发送到

MySQL数据库(它存储每个探测请求数据包的MAC地址和RSSI信息以及其他路由器特定的数据).

在对libpcap进行了大量的研究之后,我已经能够拼凑一个基本的小程序,只需使用过滤器表达式(‘wlan subtype probe-req’)在监视器界面(mon0)上嗅探数据包,然后打印出原始数据包在十六进制.使用libpcap上可以在线获得的信息,这部分是相当简单的.

现在这里是我被困:我如何解析WiFi包来检索我正在寻找的信息(RSSI和源MAC地址)?

要清楚,我不是要求代码来做(尽管我不会抱怨,如果你想提供一些:D).我只是在寻找一些指导,了解哪个字节是哪一个 – WiFi包路线图,如果你愿意的话.

有一些很好的教程,用于解析来自以太网的数据包,但是我无法找到任何帮助解析与WiFi有关的标题的东西.我认为这将是一个非常简单的过程 – 只需抓取RSSI和源MAC的相关字节 – 但是,再次,我还没有找到任何关于哪个字节的文档.

我知道这已经完成了,但我会说实话:在查看tcpdump的源代码时,我完全迷失了.

那么,有没有人知道如何解析WiFi数据包的好资源?

干杯

编辑:更具体答案

RSSI在RadioTap头文件中(在Linux上).将RSSI从数据包中拉出是非常简单的,使用radiotap-parser.c及其所依赖的文件(在与我链接的文件相同的目录中找到).如果任何人在使用radiootap-parser.c功能时遇到问题,请随时联系.

由于radiootap标头结构包含无线电标头(it_len)的长度,它是可变的,因此通过无线电功能放大器取出源MAC地址变得非常容易.由于我只解析具有固定长度的检测请求(检出17-17001),只是指向指向数据包的指针it_len 10(源MAC地址在MAC帧开始后的10个字节开始,其开始于无线电波头的末端).从该指针开始的6个字节是802.11帧中的addr2(再次参见第17页here).

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/162470.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android 高德地图标记,android学习之高德地图添加标记

    android 高德地图标记,android学习之高德地图添加标记Marker用于标注地图上的一个特定位置aMap的.addMarker(markerOptions)方法即可markerOptions有如下的属性position(Required)在地图上标记位置的经纬度值。参数不能为空。title当用户点击标记,在信息窗口上显示的字符串。snippet附加文本,显示在标题下方。draggable如果您允许用户可以自由移动标记,设置为“true”。…

    2022年5月21日
  • chmod的用法_crontab用法

    chmod的用法_crontab用法整理一下chmod用法,给自己看~~~~语法chmod[-cfvR][–help][–version]modefile…参数说明:-c:若该文件权限确实已经更改,才显示其更改动作-f:若该文件权限无法被更改也不要显示错误讯息-v:显示权限变更的详细资料-R:对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)–help:…

    2022年10月19日
  • vue的安装和使用_如何正确使用

    vue的安装和使用_如何正确使用前言Vue(读音/vjuː/,类似于view)是一套用于构建前后端分离的框架。刚开始是由国内优秀选手尤雨溪开发出来的,目前是全球“最”流行的前端框架。使用vue开发网页很简单,并且技术生态环境完善

    2022年7月31日
  • mask rcnn训练自己的数据集_fasterrcnn训练自己的数据集

    mask rcnn训练自己的数据集_fasterrcnn训练自己的数据集这篇博客是基于GoogleColab的maskrcnn训练自己的数据集(以实例分割为例)文章中数据集的制作这部分的一些补充温馨提示:实例分割是针对同一个类别的不同个体或者不同部分之间进行区分我的任务是对同一个类别的不同个体进行区分,在标注的时候,不同的个体需要设置不同的标签名称在进行标注的时候不要勾选labelme界面左上角File下拉菜单中的StayWithImagesData选项否则生成的json会包含Imagedata信息(是很长的一大串加密的软链接

    2022年8月23日
  • ios 越狱 真机调试

    ios 越狱 真机调试开发环境:Xcode4.5.2ios设备需要越狱并从Cydia安装appsync安装appsync步骤:1、找到安装的cydia,第一次运行将会弹出提示,选择开发者即可2、在工具栏中选择软件源(iphone/itouch选管理),然后点右上角的编辑3、点左上角添加4、输入源:http://yuan.duowan.com/(多玩的源),点添加源,等待添加完成,然后点返回C

    2022年5月17日
  • termux安装kali图形界面_kali如何创建shell脚本

    termux安装kali图形界面_kali如何创建shell脚本解决方法:在终端输入以下命令行:sudogedit/usr/share/applications/Pycharm.desktop1进入gedit文档界面然后将里面的内容复制成:[DesktopEntry]Type=ApplicationName=PycharmGenericName=Pycharm3Comment=Pycharm3:ThePythonIDEExec=…

    2022年8月25日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号