ieee802.11数据radiotap介绍

ieee802.11数据radiotap介绍
之前写有文章介绍了在Linux系统用wireshark或tcpdump抓无线网卡数据包。分析包时发现每一数据帧前面都有一个叫radiotap的东西。它包含了如信号强度、频率等信息。当时没有研究,直接跳过。本文就对此介绍补充。首先介绍radiotap,然后利用radiotap解析库对一段radiotap数据进行解析,获取其中的信息。 介绍 radiotap比传统的Prism或AVS头部更有灵活性,成为是ieee802.11事实上的标准。支持radiotap的系统较...

一个内核调试函数的实现

一个内核调试函数的实现
最近在研究内核,主要使用printk来跟踪函数的调用过程。但直接使用printk来打印的话,各种信息太多太杂。而且又不想把已经加了的东西删除。于是决定使用打印等级的方式来实现不同各类信息的显示。 思路很简单,使用不同的宏控制打印函数。打印哪些各类的调试信息由用户控制。通过echo方式传递至内核,实际上是32位的数值,每个比特表示一个各类的信息。因此最多有32种,目前看应该是足够了。为了方便查看哪...

linux网络子系统研究:数据收发简略流程图

linux网络子系统研究:数据收发简略流程图
Linux网络子系统十分庞大复杂,总想着等自己全部弄明白后再动笔写些笔记,但实在太耗时。后来想通了,先从宏观上掌握大体框图,然后再研究细节。 本文先给出一张自己画的网络数据收发简略流程图,每个路径都可以深入挖掘。其它的,有时间再慢慢写——或许也不会写。 (如图片太长可右键查看) 上图根据linux官方内核3.17.1版本代码浏览、启动跟踪绘制。有一定实践基础。 李迟 2016.11.9 周三 夜

Linux系统无线网络抓包程序(分析手机WIFI MAC地址)

Linux系统无线网络抓包程序(分析手机WIFI MAC地址)
前面讲述了使用tcpdump和wireshark抓WIFI包,但这只是使用工具的层面,再深一层则是自己写代码实现这个功能。本文在前面文章《Linux系统有线网络抓包程序》的基础上添加实现无线网络的抓包功能。 首先要介绍ieee802.11的帧格式,只有知道帧格式才能正确解析对应字段,拿到我们感兴趣的信息。其次介绍Linux raw socket编程抓包。最后解析ieee802.11数据包,从而获取到MAC地址。实际上,从数据包中可以得到很...