ProtectedconstructorKey Descriptor Type (identifies crypto suite: RC4, RSN, FT, etc.)
Encrypted Key Data (if isEncrypted flag is set)
Error KDE - handshake error information
Fast Transition Information Element (if present) - 802.11r FT params
GTK (Group Temporal Key) KDE - parsed group key for multicast/broadcast
Identifies the type of key handshake
ACK flag - message is from authenticator (AP) to supplicant (STA)
Error flag - indicates MIC failure or other error
Install flag - indicates key should be installed
MIC flag - MIC field is valid and should be checked
Array of all parsed Information Elements (IEs)
IGTK (Integrity Group Temporal Key) KDE - parsed key for management frame protection
Encrypted Data flag - Key Data field is encrypted
Message 1 of 4-way handshake AP → STA: ANonce, no MIC
Message 2 of 4-way handshake STA → AP: SNonce, RSN IE, MIC (but not Secure)
Message 3 of 4-way handshake AP → STA: ANonce, GTK, RSN IE, Install, MIC
Message 4 of 4-way handshake STA → AP: MIC, Secure (confirms PTK installation)
Key Type flag - true for pairwise (PTK), false for group (GTK)
Request flag - supplicant requests new PTK/GTK
Secure flag - indicates PTK installed and secure comms established
SMK flag - Station-to-Station key message (TDLS)
Array of all parsed Key Data Encapsulations (KDEs)
Key ID (8 bytes) - reserved field, usually zeros
Key ID KDE - generic key identifier
Key Information field - contains all key flags and properties
Key IV (Initialization Vector) - 16 bytes, used for key encryption (mostly zeros in modern WPA)
Key Length (2 bytes) - length of pairwise key (16 for TKIP, 16/32 for AES)
Key Nonce (32 bytes) - ANonce (from AP) or SNonce (from STA)
Key RSC (Receive Sequence Counter) - 8 bytes, used for replay detection
Key Descriptor Version from KeyInfo (indicates MIC/encryption algorithm)
Lifetime KDE - key lifetime in seconds
MAC Address KDE - peer MAC address (TDLS)
Mobility Domain ID (2 bytes) - shorthand accessor
Returns which message number (1-4) this frame represents in the 4-way handshake, or undefined if not part of 4-way handshake
MIC (Message Integrity Code) - 16 bytes, authenticates the frame
Mobility Domain IE (if present) - identifies FT roaming domain
Multiband GTK KDE - group key for multi-band operation
Multiband Key ID KDE - key identifier for multi-band operation
Nonce KDE - additional nonce value
PMKID KDE - Pairwise Master Key Identifier for fast roaming
Replay Counter (8 bytes) - monotonically increasing counter for replay protection
RSN Information Element (if present) - WPA2/WPA3 security params
SMK KDE - Station-to-Station Master Key (TDLS)
EAPOL frame type (typically 0x03 for EAPOL-Key)
EAPOL protocol version (0x01, 0x02, or 0x03)
WPA Information Element (if present) - legacy WPA/TKIP params
Copy of frame with MIC field zeroed out Used for MIC calculation/verification
Validates the EAPOL Key Frame structure and content
Performs comprehensive validation including:
Object containing validation status and list of errors
StaticfromParses an EAPOL Key Frame from a buffer or hex string
This method handles complete EAPOL frames including
The parser is resilient and will scan up to 512 bytes to find the EAPOL header if it's not at the start of the buffer (e.g., if preceded by 802.11 headers).
Buffer or hex string containing the EAPOL frame
OptionalbufferEncoding: BufferEncodingOptional encoding if blob is a string (default: 'hex')
Parsed Frame object
Protected Staticparse_Protected Staticparse_Protected Staticparse_Protected Staticparse_Protected Staticparse_Protected Staticparse_Protected Staticparse_Protected Staticparse_ProtectedExtract Multiband GTK from KDE body
Protected Staticparse_ProtectedExtract Multiband Key ID from KDE body
Protected Staticparse_Protected Staticparse_Protected Staticparse_Protected Staticparse_Protected Staticparse_Protected Staticparse_ProtectedParses WPA sub-elements (legacy WPA/TKIP with Microsoft OUI)
EAPOL Key Frame - represents a complete EAPOL Key exchange message Used for WPA/WPA2/WPA3 4-way handshakes, group key handshakes, and Fast Transition (802.11r) operations.
Example