802.11抓包软件对比之Microsoft Network Monitor

从事WiFi嵌入式软件开发的同学,802.11协议层抓包分析是一个需要熟练掌握的一个技能,需要通过分析WiFi底层802.11协议层的数据包来定位问题。同时从学习802.11协议的角度而言,最有效的学习方法就是通过抓包来学习,从抓到的数据包中,可以验证之前理论学习部分的知识,通过对数据包的理解,不仅可以加深对802.11协议的理解,还能提高自己在实际使用中问题分析、解决能力。

由于要抓到802.11协议层的数据包需要无线网络进入混杂模式,在不同的操作系统下需要不同的软硬件配合才能实现,本文分3部分依次介绍:

  1. Windows下Microsoft Network Monitor
  2. Windows下Omnipeek
  3. Ubuntu下Wireshark
    在不同操作系统下实现802.11数据包捕获分析。

Microsoft Network Monitor

嵌入式开发工程师开发环境通用使用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。我使用的系统是Win10_64位系统,电脑自带的网卡驱动不支持混杂模式,测试发现外接了360USBWiFi可实现混杂模式。
在这里插入图片描述
软件安装过程较简单,没有需要特别注意的地方。需要注意的是,安装完成后需要重新启动一下电脑,否则软件可能无法正确显示当前网络列表。

以管理员身份运行Microsoft Network Monitor 3.4,在“Select Networks”中会正确显示当前全部网卡,可以通过Friendly Name和Description找到我们要抓包的网卡。
在这里插入图片描述

一、普通模式

Microsoft Network Monitor 默认是“Local Mode”,该模式下软件只能捕获当前选中的网卡收发的数据,是无法捕获到没有经过该网卡的数据的。

  • 选中网卡后,点击“New Capture”,在弹出的页面中选中“Start”即可开始抓包。
    在这里插入图片描述
  • 可点击“Pause”暂停当前抓包;点击“Stop”停止当前抓包,“Stop”之后再次“Start”将清除当前已捕获到的数据。
    在这里插入图片描述
  • 在“Frame Summary”框内可发现软件支持捕获到WiFi管理帧、TCP、UDP等数据包,同时软件还可显示“Process Name”、“Source”、“Destination”等网络信息。
    在这里插入图片描述
  • 分析以上数据,我们可以发现,当前抓到的数据都是当前网卡收发的数据,即使802.11管理帧,也是当前网卡发给路由器的。
    在这里插入图片描述

二、混杂模式

我们在WiFi开发过程中定位问题通常需要通过无线网卡,捕获路由器与其他WiFi设备之间通讯的数据,普通模式下软件并没有捕获到。Microsoft Network Monitor支持无线网卡进入“Monitor Mode”,该模式即为混杂模式,此时可捕获路由器与其他WiFi设备之间的通讯数据包。

  • 点击“Capture Settings”进入设置页面,可以看到当前选中的无线网卡在这里插入图片描述- 双击需要设置“Monitor Mode”的无线网卡,点击“Scanning Options”
    在这里插入图片描述
  • 在“WiFi Scanning Options”页面中,选中“Switch to Monitor Mode”,然后继续选择信道扫描模式,软件支持2种信道切换模式,固定信道和信道扫描的模式。在信道扫描模式下,每一个信道逗留一会,按照时间片顺序,一个个信道开始抓包,这里需要根据实际需要设置。
    在这里插入图片描述
  • 设置完成后,点击“Apply”,并且需要保持该页面为开启状态不能关闭,否则无线网卡自动退出“Monitor Mode”。在这里插入图片描述
  • 返回主界面,再次点击“Start”开始“Monitor Mode”下捕获
    在这里插入图片描述
  • 从“Frame Summary”可以看到捕获到了各种802.11管理帧,同时捕获到了很多“Source”和“Destination”不一样的数据包。在这里插入图片描述
  • 选择需要具体分析的数据包,可在“Frame Details”和“Hex Details”中查看详细数据包数据在这里插入图片描述
  • 点击“File”下面选择“Save As”,可将当前捕获数据保存为“.cap”,可供“wireshark”、“Omnipeek”等工具分析。

三、总结

从实际使用中发现,Microsoft Network Monitor功能无法与“wireshark”、“Omnipeek”等专业抓包软件相媲美,但是能满足日常基本的802.11数据包捕获、802.11协议学习。上手快,受限也较少,更多功能也需要在使用在不断发掘。

  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
802.11数据帧在Wireshark抓包中的分层分析主要是对无线局域网(WLAN)通信的各个协议层次进行解析,以便理解网络通信的内容和过程。Wireshark是一款强大的网络协议分析工具,它支持对多种网络协议进行深度分析,包括802.11(通常用于Wi-Fi通信)。 802.11数据帧的分层通常对应于OSI(开放系统互连)模型的简化版本,因为Wi-Fi主要关注数据链路层和物理层: 1. **物理层 (PHY)**: 这是数据帧的底层,抓包中可以看到原始的无线电波或射频信号。Wireshark会捕获到载波侦听多路访问/冲突避免(CSMA/CA)帧格式、频率、RSSI(接收信号强度指示)等信息。 2. **数据链路层 (LLC and MAC)**: - LLC(逻辑链路控制子层):有时也称为 SNAP(服务访问点),封装了MAC帧。 - MAC(介质访问控制子层): 包含帧头,如地址字段(源MAC和目的MAC)、帧控制字段(用于错误检测和帧类型)、以及可能的顺序控制等。 3. **网络层 (LLC)**: 对于802.11,这个层次通常被LLC/ SNAP封装的高层协议使用,比如IP(互联网协议)或其他非TCP/IP协议。 4. **传输层 (TCP/UDP)**: 如果数据帧包含的是上层应用数据(例如HTTP请求、FTP文件传输),那么这一层将显示为TCP或UDP段,包括源和目的端口号、序号、确认信息等。 5. **应用层**: Wireshark在这里展示的是实际的应用层协议数据,如HTTP报文、FTP文件内容等。 在Wireshark中,你可以通过选择合适的协议过滤器(如`tcp.port == 80`)来聚焦特定的应用层交互。同时,使用解码规则或应用协议插件(如TCP Dump dissector)可以更深入地解析复杂的数据结构。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值