17#include "../../core/frame/frame.h"
18#include "../../core/misc/byteswap.h"
19#include "../../core/misc/llc.h"
20#include "../../core/misc/security.h"
24#include <netinet/in.h>
60 size_t required_data_length =
63 if (frame->
len < required_data_length) {
79 size_t required_data_length =
82 if (frame->
len < required_data_length) {
#define EAPOL_KEY_INFO_M2
#define EAPOL_KEY_INFO_M3
#define EAPOL_KEY_INFO_M4
#define EAPOL_KEY_INFO_M1
const char * libwifi_get_wpa_message_string(struct libwifi_frame *frame)
Get a string describing the WPA handshake message inside a supplied libwifi_frame.
int libwifi_check_wpa_message(struct libwifi_frame *frame)
Check what message of the WPA1/2 handshake is in the given frame.
int libwifi_check_wpa_handshake(struct libwifi_frame *frame)
A libwifi_frame is deemed to be an EAPOL handshake if the following criteria is met:
void libwifi_free_wpa_data(struct libwifi_wpa_auth_data *data)
Free any memory allocated inside of a libwifi_wpa_auth data, such as a buffer for WPA key data alloca...
int libwifi_get_wpa_data(struct libwifi_frame *frame, struct libwifi_wpa_auth_data *data)
Get the EAPOL/WPA information from a given libwifi_frame.
int libwifi_get_wpa_key_data_length(struct libwifi_frame *frame)
Get the length of the key data, if any, present at the end of an EAPOL frame.
struct libwifi_frame_ctrl frame_control
libwifi Representation of the encapsulating 802.1X data in an EAPOL frame ┌─────────────────┐ │ Versi...
struct libwifi_wpa_key_info key_info