Linux wlan 之sniffer log 解密详解

什么是sniffer log

  • 通过Sniffer(嗅探器)被动侦听原理的网络分析工具,将网卡设置为混杂模式,可以捕获网络上经过的所有数据包(不仅仅是发送给本机的数据包),我们称之为sniffer log
  • sniffer log通常称为空口包,也称为空中包(802.11帧)

OmniPeek工作原理

依赖专用驱动,捕获所有空口包(管理帧、控制帧、数据帧),包括隐藏 SSID 的网络

OmniPeek和sniffer log的关系:

sniffer log通常称为空口包,此处使用omminpeek抓取sniffer(空口)log

为什么需要sniffer log

  • 在定位 WIFI 问题时,我们一般采用 OmniPeek 工具进行空中抓包来分析他们的交互过程,以便问题定位

先抛出一个问题,为什么我们抓dhcp流程通常都是使用tcpdump工具抓取,而不是通过抓sniffer log,是因为sniffer log中未包含dhcp流程吗?

  • tcpdump 抓取的是经过网络协议栈的包,是已经是固件或者硬件解密后的,所以我们可以直观地看到dhcp报文的交互,无需解密流程

  • sniffer log可以抓取到包含dhcp的流程,因为数据包是加密的,所以想要看到报文交互流程,需要进行sniffer log的数据包解密,来完成报文的分析

所以我们要根据不同的场景来使用不同的日志,没有优劣之分

抓包的理论流程

  1. 需要知道想要解密ap的SSID和密码
  2. sniffer log 中必须包含完整的EAPOL-Key交互流程,只能解密出与终端协商的包和EAPOL结束后时间点的加密包
  3. 选择omnipeek工具栏中Tools --> Decrypt WLAN Packets
  4. 填相应的解密参数设置,选择想要解包的参数
  5. 解密之后的包,包含了arp、dhcp等加密数据包

抓包解密详解

  1. 抓包

    报文文件

    使用omnipeek打开

    红框为加密数据包

  2. 提前找出已经抓出完整eapol的设备address: 26:0a:f2:d8:ca:31

  3. 如何分析报文

    在Packets 窗口,通过右键点 packet list options 来选择要显示的信息,以及对应的 flags 定义,也可以改颜色

    也可以通过左边菜单的 Wireless --> WLAN 来查看 AP-STAs 对应关系:

    点击ap 的Bssid --> 右键选择 select related packets --> by source or destination

    过滤出当前ap所涉及的所有sniffer log

  4. 我们只能解密如下图所示的加密数据包

    只能解密ap与 station address: 26:0a:f2:d8:ca:31交互的加密包

  5. 解密数据包(解密 WPA 报文)

    从左到右,依次执行

    菜单栏Tools -> Decrypt WLAN Packets,选择右下角...键,然后选择 insert 增加密码设置

    配置参考

  6. 解密后的数据包

    红框为解密后的数据包,里面还包含dhcp的四个流程,到这里我们的包就解密成功了

相关推荐
爱吃香菜的初学者1 小时前
十四.Linux——消息队列
linux·运维·开发语言
Apipi*8 小时前
30天速通Linux 第六章信号及信号处理
linux·运维·信号处理
天启HTTP9 小时前
爬虫防封核心原理:IP轮换机制与风控规避逻辑
linux·服务器·网络·爬虫·tcp/ip
广州浮点FLOATLIC11 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
BLUcoding11 小时前
接口服务公网超时排查记录:SecureRandom 阻塞问题分析与解决
java·linux·springboot·aes·securerandom
AIgorithmGEEK11 小时前
[Linux]从手写报头到内核套路:序列化、反序列化与自定义协议全链路
linux·运维·服务器·网络·序列化·反序列化
Nil20811 小时前
leetcode 139单词拆分
linux·运维·服务器
Starry-sky(jing)12 小时前
BUG: unable to handle kernel paging request 完整排查:dmesg 四要素与三路定罪
linux·运维·服务器·内核·排障
mounter62512 小时前
从硬件互连到操作系统变革:CXL 技术演进与 Linux 内核工程挑战
linux·运维·服务器
xh didida13 小时前
Linux -- 基础IO
linux·服务器·开发语言·c++