802.11 Frame Types

The three frame classes in 802.11 — management, control, data — and the sub-types that map to the actions an attacker forges, replays, or strips off the air.

Status: drafting Related: Beacon frames, Probe Request and PNL, Authentication and association, MFP


Frame Control field

Every 802.11 frame starts with a Frame Control field. Two fields decide what kind of frame it is:

Bit fieldValuesMeaning
Type0 / 1 / 2 / 3Management / Control / Data / Extension
Subtype0–15Subtype within the type

tcpdump -y IEEE802_11_RADIO -e and wireshark decode these directly. aircrack-ng references frames by Beacon, Auth, Deauth, etc. — the same subtypes.


Type 0 — Management frames

Frames that govern joining, leaving, and managing a BSS. Unencrypted by default (only protected when 802.11w / MFP is enabled, and even then only a subset).

SubtypeNameDirectionNotes
0Association RequestSTA → APAfter auth, before encrypted data.
1Association ResponseAP → STACarries AID.
2Reassociation RequestSTA → APWhen roaming to a new BSS in the same ESS.
3Reassociation ResponseAP → STA 
4Probe RequestSTA → broadcast or APActive scan.
5Probe ResponseAP → STA 
8BeaconAP → broadcast~10 / sec.
9ATIMIBSS only 
10DisassociationSTA ↔ APReason code attached.
11AuthenticationSTA ↔ APOpen, Shared Key (legacy), SAE, FT.
12DeauthenticationSTA ↔ APReason code attached. The classic forced-disconnect attack.
13ActionanyBig container — block-ack, BSS Transition Mgmt, RM, FT, channel switch.
14Action No-Ackany 

Why management frames are an attack surface.

  • Pre-MFP, a single deauth packet from any source MAC drops a client. The famous “deauth flood” predates 2010.
  • MFP (802.11w, mandatory in WPA3) covers Disassociation, Deauthentication, and Robust Action frames, but not Beacon, Probe, Auth, or Association. The latter are still spoofable, which is why rogue AP and channel-switch CSA-spoof attacks remain effective in 2026.

Type 1 — Control frames

Frames that mediate channel access and acknowledgement. Tiny, MAC-only, no payload.

SubtypeNameNotes
4Beamforming Report PollWi-Fi 5+
5VHT NDP Announcement 
7Control Frame Extension 
8Block Ack Request (BAR) 
9Block Ack (BA) 
10PS-Poll 
11RTSRequest to Send
12CTSClear to Send
13Ack 
14CF-End 

Why control frames matter offensively.

  • PS-Poll is the request a station in power-save sends to retrieve frames the AP has been buffering. Forging PS-Poll is part of the Vanhoef Framing Frames attack.
  • RTS/CTS can be abused for DoS: spoofed CTS with a long Network Allocation Vector silences a channel for milliseconds at a time. Used in legacy “queensland attack” research.
  • Block Ack sequence numbers and aggregation windows have been used in FragAttacks variants.

Type 2 — Data frames

Carry the actual L2 payload (LLC/SNAP → IP). Many subtypes; the ones to know:

SubtypeNameNotes
0DataPlain data frame.
4Null functionEmpty data — used for power-save signalling.
8QoS DataWMM-tagged data (TID 0–7). Universal on modern hardware.
12QoS NullQoS variant of null function (power-save signalling).
0–11(CF-Poll variants) 

Data frames carry the MSDU (or fragments of it). Aggregated data frames carry an A-MSDU (multiple MSDUs in one MPDU) or are themselves part of an A-MPDU (multiple MPDUs in one PHY transmission). See A-MSDU and A-MPDU.

The key offensive observation: data frames are encrypted under the PTK / GTK (when enabled), but the A-MSDU bit in the QoS Control field is in the MAC header — outside the encrypted payload. That is the FragAttacks substrate.


Type 3 — Extension frames

Reserved type used by 802.11ah, 802.11p, and DMG (60 GHz). Not relevant to mainstream Wi-Fi attacks.


ToDS / FromDS

The Frame Control’s ToDS / FromDS bits classify direction:

ToDSFromDSMeaningAddress fields
00IBSS / direct STA-to-STAAddr1=DA, Addr2=SA, Addr3=BSSID
01AP → STAAddr1=DA, Addr2=BSSID, Addr3=SA
10STA → APAddr1=BSSID, Addr2=SA, Addr3=DA
11WDS (mesh / 4-address)All four addresses present

The 4-address (WDS) form is what Framing Frames abuses: a malicious client sets ToDS=FromDS=1 to inject a frame that the AP forwards verbatim.


Tooling

  • radiotap headers prepend captured frames with PHY metadata (RSSI, channel, MCS).
  • aireplay-ng -0 injects deauth (subtype 12).
  • mdk4 injects most subtypes for stress-testing.
  • scapy Dot11() builds frames programmatically with full subtype control.

See also

References