从事WiFi嵌入式软件开发的同窗,802.11协议层抓包分析是一个须要熟练掌握的一个技能,须要经过分析WiFi底层802.11协议层的数据包来定位问题。同时从学习802.11协议的角度而言,最有效的学习方法就是经过抓包来学习,从抓到的数据包中,能够验证以前理论学习部分的知识,经过对数据包的理解,不只能够加深对802.11协议的理解,还能提升本身在实际使用中问题分析、解决能力。网络
因为要抓到802.11协议层的数据包须要无线网络进入混杂模式,在不一样的操做系统下须要不一样的软硬件配合才能实现,本文分3部分依次介绍:工具
在不一样操做系统下实现802.11数据包捕获分析。学习
嵌入式开发工程师开发环境通用使用Windows,因为Windows下不少专业的抓包工具都须要特定的无线网卡和驱动支持才可实现混杂模式802.11数据捕获。在某些场景下,这些专业的抓包工具不必定会随身携带。因此先介绍一个Windows下Microsoft官方提供的轻量型的抓包工具Microsoft Network Monitor。测试
Microsoft Network Monitor是Microsoft官方提供的一款免费网络协议数据分析工具,不只能够抓包,并且能够基于抓包结果作一些简单的数据分析。Microsoft Network Monitor当前最新版本为3.4,同时支持32位和64位系统,可在Microsoft官方免费下载,下载地址为:https://www.microsoft.com/en-us/download/details.aspx?id=4865。我使用的系统是Win1064位系统,电脑自带的网卡驱动不支持混杂模式,测试发现外接了360USBWiFi可实现混杂模式_。_spa
软件安装过程较简单,没有须要特别注意的地方。须要注意的是,安装完成后须要从新启动一下电脑,不然软件可能没法正确显示当前网络列表。操作系统
以管理员身份运行Microsoft Network Monitor 3.4,在“Select Networks”中会正确显示当前所有网卡,能够经过Friendly Name和Description找到咱们要抓包的网卡。ip
Microsoft Network Monitor 默认是“Local Mode”,该模式下软件只能捕获当前选中的网卡收发的数据,是没法捕获到没有通过该网卡的数据的。路由
咱们在WiFi开发过程当中定位问题一般须要经过无线网卡,捕获路由器与其余WiFi设备之间通信的数据,普通模式下软件并无捕获到。Microsoft Network Monitor支持无线网卡进入“Monitor Mode”,该模式即为混杂模式,此时可捕获路由器与其余WiFi设备之间的通信数据包。开发
从实际使用中发现,Microsoft Network Monitor功能没法与“wireshark”、“Omnipeek”等专业抓包软件相媲美,可是能知足平常基本的802.11数据包捕获、802.11协议学习。上手快,受限也较少,更多功能也须要在使用在不断发掘。rem