无线渗透——802.11头( radiotap头、控制帧、管理帧、数据帧)
前言
根据上一节
已经可以抓取无线包头
本节主要详细学习包头
历时2日
1、 radiotap头
-
802.11发射和接收的事实标准
-
linux在驱动和API中内建支持radiotap
-
802.11发射前,网卡驱动在802.11头前面添加radiotap头
-
网卡接收802.11时,驱动通知MAC层,此帧头包含radiotap头
-
radiotap为802.11帧传递额外信息,厂家可自定义
-
不破坏原始头结构,增加传递的信息
结构
header
-
reversion:8bit,值始终为0
-
pad:8bit,始终是0,占位
-
length:整个radiotap的长度
-
present flags:32bit,指示data会出现的内容
data
-
MAC timestamp:时间戳
-
flags:8bit,一些标记
-
data rate:速率
-
channel frequency:信道频率
-
channel type:信道类型以及详细信息
-
SSI signal:信号强度
2、802.11MAC头部
-
DU(data unit):数据单元,信息传输的最小数据集合
-
传递过程逐层封装(encapsulation)
-
一个DU对下层而言是SDU(service data unit),对上层而言是PDU(protiocol data unit)
-
MSDU->完整性检查->分帧->添加起始向量->加密->添加MAC头->MPDU
-
MPDU+物理头=PPDU(见下图),然后RF发射
802.11的MAC头部如图所示
(1)header
frame control(2bytes)
-
protocol version:2bit,值为0,1,2,3
-
type:2bit,0是管理帧,1是控制帧,2是数据帧
-
subtype:子类型
-
toDS:1是STATION到AP
-
fromDS:与前者相反,四种组合见图
-
more frag:1bit,1是有后续分段
-
retry:1bit,1表示重传帧
-
power management:1bit,0是活动模式,1是省电模式
-
more data:1bit,当AP缓存了至少一个MSDU时,会向省电模式的STATION发生该值为1的帧
-
protected frame:1bit,数据载荷为空时值为0
-
order:1bit,通常为0,若为1表示数据必须按严格顺序处理
duraiton/ID(2bytes)
-
control帧时,作用随type和subtype变化
-
PS Poll帧(type=1,subtype=10)时,表示STATION关联AID
-
其他情况下,作为一种载波侦听机制,表示接收下一帧之前需要保持的时间间隔,用于NAV(network allocation vector)计算
MAC layer address(6bytes)
有四种
sequence control(2bytes)
-
sequence number:每个帧的编号,0-4095,同一帧不同分段的该值相同
-
fragment number:标识分段位置顺序的编号,0-15
(2)frame body(变长)
-
未加密:256bytes上层头+2048data
-
WEP:增加8bytes
-
TKIP(WPA1):增加20bytes
-
CCMP(WPA2):增加16bytes
*control类型的没有这个部分
(3)FCS(4bytes)
-
发送端对header和framebody进行CRC计算,结果即为FCS
-
接收端进行相同计算,结果一致,返回ACK,否则丢弃
*wireshark抓包时已经删了FCS
3、控制帧
其type和subtype见图
(1)ACK
-
接收端正确接收数据后向发送端返回ACK
-
每个单播帧都要ACK立刻确认,组播和广播不需要
-
硬件完成,而非驱动层
结构
-
type:01
-
subtype:1101
-
receiver address:6bytes,接收地址
-
FCS:4bytes
(2)PS-poll帧
-
RF系统的放大器:主要耗电组件
-
省电模式:关闭信号发射器节省电源
-
AID:STATION关联到AP时,AP给的association ID
(3)RTS/CTS
-
CSMA/CA的一种补充手段
-
降低冲突产生的可能性
-
正式通信前通过请求应答机制,确信通信介质的可用性
-
锁定传输介质和预约通信时间
-
只有在传输长帧时使用:阈值由驱动接口定义
-
过程:A发RTS给B,未发生冲突,B返回CTS给A,然后进行正常数据传输
4、管理帧
如图所示
(1)beacon帧
详细可参考:https://blog.csdn.net/rs_network/article/details/50676786
-
AP发送的广播帧,通告无线网络的存在(BSSID、ESSID)
-
发包频率102.4ms(可变)
-
隐藏AP不发SSID广播
-
速率:802.11g
-
信道:11
结构
-
IBSSI status:1是AD-HOC,0是infrastructure
-
privicy:1是WEP/WPA加密
-
ESSID:会展示名称和长度
(2)probe帧
-
STATION扫描现有AP
(3)authentication帧
-
身份认证
-
有多个帧交换过程
结构
-
algorithm:1是共享秘钥身份验证,0是开放系统身份验证
-
seq:1-65535,每次验证过程该值唯一
-
challenge text:只有共享秘钥才有
-
status code:成功/失败
(4)association帧
-
身份验证成功后,STATION执行关联操作
5、数据帧
-
null data:只包含MAC头和FCS,STATION用于声明进入省电模式
结语
本节较为详细的了解了802.11头内容
并通过抓包有些许体会
下一节学习加密算法
红客突击队于2019年由队长k龙牵头,联合国内多位顶尖高校研究生成立。团队从成立至今多次参加国际网络安全竞赛并取得良好成绩,积累了丰富的竞赛经验。红客突击队始终秉承先做人后技术的宗旨,旨在打造国际顶尖网络安全团队。其核心团队于2022年转型于信息安全研究院,并为政企提供安全服务与技术支持。
© Honker Security Commando
原文始发于微信公众号(中龙 红客突击队):无线渗透——802.11头( radiotap头、控制帧、管理帧、数据帧)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论