802.11抓包分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

802.11抓包分析
1.实验目的
分析802.11协议,了解802.11的帧格式
2.实验环境及工具
操作系统:ubuntu
实验工具:WireShark
3.实验原理
(1)802.11MAC层数据帧格式:
Bytes 2 2 6 6 6 2 0-2312
4
Bits 2 2 4 1 1 1 1 1 1 1 1
Version:表明版本类型,现在所有帧里面这个字段都是0
Type:指明数据帧类型,是管理帧,数据帧还是控制帧,00表示管理帧,01表示控制帧,10表示数据帧
Subtype:指明帧的子类型 ,Data=0000,Data+CF-ACK=0001,
Data+CF-Poll=0010, Data+CF-ACK+CF-Poll=0011,Nulldata=0100,CF-ACK=0101, CF-Poll=0110,Data+CF-ACK+CF-Poll=0111,QoS Data=1000,
Qos Data+CF-ACK=1001,QoS Data+CF-Poll=1010,
QoS Data+CF-ACK+CF-Poll=1011,QoS Null =1100,
QoS CF-ACK=1101,QoS CF-Poll=1110,QoS Data+CF-ACK+CF-Poll=1111
To DS/From DS:这两个数据帧表明数据包的发送方向,分四种情况:
若数据包To DS为0,From DS为0,表明该数据包在网络主机间传输
若数据包To DS为0,From DS为1,表明该数据帧来自AP
若数据包To DS为1,From DS为0,表明该数据帧发送往AP
若数据包To DS为1,From DS为1,表明该数据帧是从AP发送往AP
More flag.:置1表明后面还有更多段
Retry:置1表明这个以前发送一帧的重传
Pwr mgt.:置1表明发送发进入节能模式
More data:置1表明发送发还有更多的帧需要发送给接收方,当AP缓存了处于省电模式下的网络主机的数据包时,AP给该省电模式下的网络主机的数据
帧中该位为1,否则为0
Protected:置1表明该帧的帧体已经被加密
Order:置1告诉接收方高层希望严格按照顺序来处理帧序列
Duration:通告本帧和其确认帧将会占用信道多长时间
Address 1:发送方地址 Address 2:接收地址 Address 3:远程端点
Sequence:帧的编号
Data:有效载荷,长度可达2312字节
Check Sequence:CRC校验码
(2)802.11控制帧,每种控制帧的帧格式不一样,以RTS帧为例说明
Bits 2 2 4 1 1 1 1 1 1 1 1
Version:表明版本类型,现在所有帧里面这个字段都是0
Type:指明数据帧类型,是管理帧,数据帧还是控制帧,00表示管理帧,01表示控制帧,
10表示数据帧
Subtype:指明数据帧的子类型,Power Save(PS)-Poll(省电轮询)=1010,RTS=1011,CTS=1100,ACK=1101,CF-End(无竞争周期结束)=1110,
CF-End(无竞争周期结束)+CF-ACK(无竞争周期确认)=1111,Block ACK=1001,
控制帧的To DS 至Order除Pwr.mgt.外必然为0
Receiver Address:接收方地址
Transmitter Address:发送发地址,CTS和ACK没有该字段
Check sequence:校验码
(3)管理帧,
Bytes 2 2 6 6 6 2 0-2312 4
Bits 2 2 4 1 1 1 1 1 1 1 1
Version:表明版本类型,现在所有帧里面这个字段都是0
Type:指明数据帧类型,是管理帧,数据帧还是控制帧,00表示管理帧,01表示控制帧,
10表示数据帧
Subtype:指明数据帧的子类型,
Association Request(关联请求)=0000,
Association Response (关联响应)=0001,
Reassociation Request(重关联请求)=0010,
Reassociation Response(重关联响应)=0011,
Probe Request(探测请求)=0100,
Probe Response(探测响应)=0101,
Beacon(信标帧)=1000,
ATIM(通知传输指示信息)=1001,
Disassociation(解除关联)=1010,
Authentication(身份验证)=1011,
Deauthentication(解除身份验证)=1100
管理帧的To DS 与From DS均为0,其余Frame Control字段意义与数据帧一致
Destination Address:目的地址
Source Address:源地址
BSSID:基本服务集ID, 用于过滤收到的MAC帧(在基础型网络里为工作站所关联的AP 的MAC地址)
Sequence:帧序列号
Address Check sequence:校验码
4.实验步骤
1.配置wireshark,启动monitor mode,抓取wifi的数据包,如下图
2.分析抓取到的wifi数据包5.实验结果及分析1.数据帧
(1)数据帧
Version ,Type 和Subtype的08H,即00001000,后两位00,表明协议版本为0,倒数3、4位10 表明这是一个数据帧,前四位0000是subtype。

Frame control 后8位0AH,即00001010。

To DS=0,From DS=1,表明该数据帧来自AP。

More frag=0,表明这是该帧的最后一段,Retry=1,表明这是重传帧,Pwr. Mgt.=0,表明发送方没有进入节能模式;More data=0表明没有更多的帧,即No data buffered .Protected=0,表明没有加密,Order=0,表明没有严格的顺序要求。

Duration位为d500,低位为00,高位为d5,所以持续时间为00d5H=213微秒。

Address 1 =0022698ea744,接收方的MAC地址;Address 2= 0611b51a0a05,发送发地址,即AP地址;Address 3= 00005e00040a,远程远端地址;Sequence=3032,高位为32,低位为30,即 0011 0010 0011 0010,段号为0,帧号为0011 0010 0011B=803D,Check sequence=23093131H,检测结果为正确。

(2)上图帧紧接着的下一个数据帧
每发出去一帧Sequence中的12位帧号递增,Address 1 =0022698ea744,接收方的MAC地址;Address 2= 0611b51a0a05,发送发地址,即AP地址;Address 3= 00005e00040a,远程远端地址;这三个地址与上图中的帧一致,是同一发送方发送给同一接收方的连续两帧,帧号=804,帧号递增。

2.控制帧
(1)RTS帧
Version ,Type 和Subtype的b4H,即10110100,后两位00,表明协议版本为0,倒数3、4位01 表明这是一个控制帧,前四位1011是subtype,表明这是一个RTS;
Frame control 后8位00H,控制帧的这几位除Pwr.mgt.外必然是0. Pwr.mgt即发送方没有进入节能模式。

Duration位为6709,低位为67,高位为09,所以持续时间为096fH=2407微秒。

Receiver Address =00:22:69:8e:a7:44,接收方的MAC地址; Transmitter Address =06:11:b5:1a:0a:05,发送方地址;Check sequence=6e24f28cH,检测结果为正确。

(2)CTS帧
3、4位01 表明这是一个控制帧,前四位1100是subtype,表明这是一个CTS.
Frame control 后8位00H,控制帧的这几位除Pwr.mgt.外必然是0. Pwr.mgt即发送方没有进入节能模式。

Duration位为6f09,低位为6f,高位为09,所以持续时间为096fH=2415微秒。

Receiver Address =70f1al496492,接收方的MAC地址;Check sequence=a1d1f7e5H,检测结果为正确。

(3)ACK帧
Version ,Type 和Subtype的d4H,即11010100,后两位00,表明协议版本为0,倒数3、4位01 表明这是一个控制帧,前四位1101是subtype,表明这是一个ACK;
Frame control 后8位00H,控制帧的这几位除Pwr.mgt.外必然是0. Pwr.mgt即发送方没有进入节能模式。

Duration位为0000,所以持续时间为0微秒,ACK表明该帧的传送结束,所以持续时间为0,Receiver Address =00:22:69:8e:a7:44,接收方的MAC地址; Check sequence=6e24f28cH,检测结果为正确。

(4)Block ACK帧
3、4位01 表明这是一个控制帧,前四位1001是subtype,表明这是一个Block Ack,这是一个块确定帧
Frame control 后8位00H,控制帧的这几位除Pwr.mgt.外必然是0. Pwr.mgt即发送方没有进入节能模式。

Duration位为9400,低位为94,高位为00,所以持续时间为0094H=148微秒。

Receiver Address =70f1al496492,接收方的MAC地址。

Transmitter Address =3822d67704d3,发送方的MAC地址,Check sequence=d2ed060f,检测结果为正确。

其余位与Block ACK该种帧有关,Block Ack Type=02H,compressed Block;Block Ack Control=0005H,Block Ack Starting Sequence Control=9320H.
3. 管理帧
Version ,Type 和Subtype的80H,即1000 0000,后两位00,表明协议版本为0,倒数3、4位00 表明这是一个管理帧,前四位1000是subtype,表明这是信标帧,AP每隔一段时间就会发出的 Beacon(信标)信号,用来宣布 802.11 网络的存在
Frame control 后8位00H. To DS=0,From DS=0,管理帧这两位固定。

More frag=0,表明这是该帧的最后一段,Retry=0,表明这不是重传帧,Pwr. Mgt.=0,表明发送方没有进入节能模式,More data=0表明没有更多的帧,即No data buffered ,该位被置是因为有AP
缓存了数据给在休眠中的主机,由于To DS=0,From DS=0,数据再主机之间传送,所以More data必定为0.Protected=0,表明没有加密,Order=0,表明没有严格的顺序要求。

Duration位为0000,信标帧传送完,此次传输就已经结束,所以持续时间为0微秒。

Destination Address=ff ff ff ff,即为广播; Source Address=3822d67705d0, 为AP地址;BSSID=3822d67705d0,即AP地址;Sequence=6002,高位为02,低位为60,即0000 0010 0110 0000,段号为0,帧号为0000 0010 0110B=38D,Check sequence=8007c6e2H,检测结果为正确。

6.实验总结
十六进制表示的帧与帧格式字段,顺序对应关系不太合理。

如数据帧Frame Control在Packet bytes面板为080a,在Packet detail 面板显示为0a08. 0a08=0000 1010 0000 1000,所表示的分别是Order, Protected,Moredata,Pwr.mgt,Retry,More frag.From DS,To DS,Subtype,Type和Version,顺序与帧格式中描述的正好相反。

而Duration,Source字段均是两个字节,如Duration在Packet bytes面板中的十六进制为d500,延迟=213D=00d5H,后两位为高字节,与正常顺序相反。

而地址字节,在Packet bytes面板为0022698ea744,则MAC地址就为0022698ea744,这里的字节顺序没有反过来。

所以说用wireshark抓包得到的十六进制表示的帧,其顺序与帧格式中描述的顺序对应关系比较难理解。

7.参考资料
1.计算机网络(第五版).Andrew S.Tanenbaum,David J.Wetherall
2. 802.11无线网络权威指南(第二版)Mattbew S. Gast。

相关文档
最新文档