0x0 802.11协议

0x0.1 扫描技术

  • 被动扫描:过侦听AP定期发送的Beacon帧来发现网络, Beacon帧中包含该AP所属的BSS的基本信息以及AP的基本能力级,包括: BSSID (AP的MAC地址)、 SSID、支持的速率、支持的认证方式,加密算法、Beacons帧发送间隔,使用的信道等。当未发现包含期望的SSID的BSS时,STA可以工作于IBSS状态。
  • 主动扫描:在每个信道上发送Probe request报文,从Probe Response中获取BSS的 基本信息, Probe Response包含的信息和Beacon帧类似。

0x0.2 安全加密技术

  1. WEP,Wired Equivalent Privacy: 802.11中最早期的加密标准
  2. CCMP(CTR with CBC-MAC Protocol): 基于AES的全新加密协议,在IEEE 802.11i中提出
  3. WPA(Wi-Fi Protected Access)
  4. TKIP(Temporal Key Integrity Protocol)
  5. WPA2(Wi-Fi Protected Access 2)

0x0.3 各种数据帧汇总

  1. 数据: 数据数据包的作用是用来携带更高层次的数据(如IP数据包,ISO7层协议)。它负责在工作站之间传输数据
  2. 管理: 管理数据包控制网络的管理功能
    1) 信标帧(Beacons): 在无线设备中,定时依次按指定间隔发送的有规律的无线信号(类似心跳包),主要用于定位和同步使用
    2) 解除认证(Deauthentication)数据包
    3) Probe(request and response)探测请求帧,探测响应帧
    4) Authenticate(request and response)身份认证帧
    5) Associate(request and response)关联请求帧,关联响应帧
    6) Reassociate(request and response)重新关联请求帧,重新关联响应帧
    7) Dissassociate(notify)解除关联帧
    管理帧负责监督,主要用来加入或退出无线网络,以及处理接入点之间连接的转移事宜
  3. 控制: 控制数据包得名于术语”媒体接入控制(Media Access Control, MAC)”,是用来控制对共享媒体(即物理媒介,如光缆)的访问
    1) 请求发送(Request To Send,RTS)数据包
    2) 清除发送(Clear To Send,CTS)数据包
    3) ACK确认(RTS/CTS)
    4) PS-Poll: 当一部移动工作站从省电模式中苏醒,便会发送一个 PS-Poll 帧给基站,以取得任何暂存帧
    控制帧通常与数据帧搭配使用,负责区域的清空、信道的取得以及载波监听的维护,并于收到数据时予以正面的应答,借此促进工作站间数据传输的可靠性

0x0.4 三种拓扑结构

  1. PC间相互组网,独立基本服务集(Independent BSS, IBSS)网络(也叫ad-hoc网络)
  2. PC间通过AP相互组网基本服务集(Basic Service Set, BSS)网络
  3. 扩展服务集(Extent Service Set, ESS)网络

0x1 普通无加密连接过程

重要

  1. AP发送beacon广播管理帧(广播,如果收到beacon帧就会在无线连接中发现)
  2. 客户端向承载指定SSID的AP发送Probe Request(探测请求帧)(点击连接ssid时就会发送一个Probe帧)
  3. AP接入点对客户端的SSID连接请求进行应答Probe response(探测响应帧)
  4. 客户端对目标AP请求进行身份认证(Authentication)
  5. AP对客户端的身份认证(Authentication)请求作出回应
  6. 客户端向AP发送连接(Association)请求
  7. AP对连接(Association)请求进行回应(AP对客户端的连接请求(Association)予以了回应(包括SSID、性能、加密设置等)。至此,Wi-Fi的连接身份认证交互就全部结束了,之后就可以正常进行数据发送了)
  8. 客户端向AP请求断开连接(Disassociation),点击断开连接时就会发送解除关联帧

0x2 报文格式分析

详情请见802.11帧格式

0x3 案例分析

wlan contains 70-66-55-CA-C6-2D //过滤mac地址
wlan.fc.type_subtype == 0x0  //过滤报文类型
assoc req: 0x0 
assoc resp: 0x1
reassoc req: 0x2
reassoc resp: 0x3
probe req: 0x4
probe resp: 0x5
beacon: 0x8
disassoc: 0xa
auth: 0xb
deauth: 0xc
action: 0xd
BAR: 0x18
BA: 0x19
PS-Poll: 0x1a
RTS: 0x1b
CTS: 0x1c
ACK: 0x1D
CF-End: 0x1e
Null data: 0x24
Qos data: 0x28
Null Qos data: 0x2c

0x3.1 过滤出广播管理帧

0x3.2 过滤出探测请求帧

wlan contains 70-66-55-CA-C6-2D and wlan contains cc:08:fb:fa:a9:aa and wlan.fc.type_subtype == 0x4

0x3.3 过滤出探测响应帧

wlan contains 70-66-55-CA-C6-2D and wlan contains cc:08:fb:fa:a9:aa and wlan.fc.type_subtype == 0x4 or wlan.fc.type_subtype == 0x5

0x3.4 过滤出身份认证响应帧

wlan contains 70-66-55-CA-C6-2D and wlan contains cc:08:fb:fa:a9:aa and wlan.fc.type_subtype == 0xb

0x3.5 过滤出身份关联请求帧

wlan contains 70-66-55-CA-C6-2D and wlan contains cc:08:fb:fa:a9:aa and wlan.fc.type_subtype == 0x0

0x3.6 过滤出身份关联响应帧

wlan contains 70-66-55-CA-C6-2D and wlan contains cc:08:fb:fa:a9:aa and wlan.fc.type_subtype == 0x0 or wlan.fc.type_subtype == 0x1