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).

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 前端vscode必备插件推荐(墙裂推荐)「建议收藏」

    前端vscode必备插件推荐(墙裂推荐)「建议收藏」前言:vscode是一款强大的前端编辑软件,有些人说ws(webstorm)更好用,但是vs重在轻量级啊!!!而且根据自己的开发习惯安装适合自己的插件后,用起来简直不要太舒服了好嘛!!!首先呢,我先推荐的就是最基础的语言包,没办法,英语水平太捞了哈哈哈,弄起来后就舒服多了,汉语yyds~《Chinese(Simplified)(简体中文)Language》注释工具《ColorfulComments》不同的注释符能带来很多高亮的显示快速找到css定义位置并小窗口展示

  • Mysql 启动命令详解「建议收藏」

    Mysql 启动命令详解「建议收藏」1,找到mysql安装的bin目录,启动mysql进程。如:本机是:C:\ProgramFiles\MySQL\MySQLServer5.7\bin在cmd里切换到此目录,C:\>cdC:\ProgramFiles\MySQL\MySQLServer5.7\binC:\ProgramFiles\MySQL\MySQLServer5.7\bin>查看…

  • Pycharm轻松创建Flask项目

    Pycharm轻松创建Flask项目打开Pycharm的file,选择创建新的项目,然后弹出对话框,我们可以看到里面有很多的案例,Flask、Django等等,我们选择生成Flask的demo程序。选择创建之后一个简易的Flask项目就出现在我们眼前,第一个是入口程序,还有一个static的静态目录,templates是模板存放的位置。在Pycharm上面有个run,我们可以选择run来启动Flask的服务,默认打开…

  • Oracle恢复某个时间之前的数据「建议收藏」

    Oracle恢复某个时间之前的数据「建议收藏」如果数据进行的误删除,我们需要回到删除之前的数据,可以进行恢复操作。第一步:查询这个时间点的数据查询这个时间点的数据,看是否是自己需要的数据。select*fromtablenameasoftimestampto_timestamp(‘2018-05-0413:30:00′,’yyyy-MM-ddhh24:mi:ss’)第二步:核对数据库系统时间有可能因为系统时间和数据库时间不一致查不出数据所以先查询数据库的时间。selectto_char(sysdate,’yyyy-

  • 常用的信息搜集和整理方法_公司合并整合工作方案

    常用的信息搜集和整理方法_公司合并整合工作方案——本文参考自t7前辈的课程,侵删信息收集一、简介什么是信息搜集?信息搜集也称踩点,信息搜集毋庸置疑就是尽可能的搜集目标的信息,包括端口信息、DNS信息、员工邮箱等等看似并不起眼的一些信息都算是信息搜集,这些看似微乎其微的信息,对于渗透测试而言就关乎到成功与否了。信息搜集的重要性信息搜集是渗透测试的最重要…

发表回复

您的电子邮箱地址不会被公开。

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