|
Politician 1.0.0
WiFi Auditing Library for ESP32
|
Namespaces | |
| namespace | fingerprint |
| namespace | format |
| namespace | storage |
| namespace | stress |
| PoliticianStress: Decoupled DoS / Disruption Payload Delivery System. | |
Classes | |
| struct | __attribute__ |
| struct | ApRecord |
| Snapshot of a discovered Access Point from the internal cache. More... | |
| struct | AttackResultRecord |
| Identifies the AP and failure reason for a failed attack, delivered to the AttackResultCb callback. More... | |
| struct | Config |
| Configuration for the Politician engine. More... | |
| struct | DeviceFingerprint |
| One fingerprint entry in the built-in or user-defined database. More... | |
| struct | DeviceRecord |
| A matched device, delivered to the DeviceFoundCb callback. More... | |
| struct | DisruptRecord |
| A deauthentication or disassociation frame observed on the air, delivered to the DisruptCb callback. More... | |
| struct | EapIdentityRecord |
| A harvested 802.1X Enterprise plaintext identity, delivered to the IdentityCb callback. More... | |
| struct | HandshakeRecord |
| A captured handshake or PMKID record delivered to the EapolCb callback. More... | |
| union | HandshakeRecord.__unnamed3__ |
| union | HandshakeRecord.__unnamed5__ |
| class | Politician |
| The core WiFi handshake capturing engine. More... | |
| struct | ProbeRequestRecord |
| A probe request frame observed on the air, delivered to the ProbeRequestCb callback. More... | |
| struct | RogueApRecord |
| Fired when a second BSSID advertising the same SSID is observed on the same channel. More... | |
| struct | Stats |
| Cumulative frame and capture counters for the engine session. More... | |
Typedefs | |
| typedef void(* | LogCb) (const char *msg) |
| typedef void(* | ApFoundCb) (const ApRecord &ap) |
| typedef int(* | TargetScoreCb) (const ApRecord &ap, const char *vendor) |
| typedef void(* | PacketCb) (const uint8_t *payload, uint16_t len, int8_t rssi, uint8_t channel, uint32_t ts_usec) |
| typedef void(* | EapolCb) (const HandshakeRecord &rec) |
| typedef void(* | IdentityCb) (const EapIdentityRecord &rec) |
| typedef void(* | ProbeRequestCb) (const ProbeRequestRecord &rec) |
| typedef void(* | DisruptCb) (const DisruptRecord &rec) |
| typedef void(* | AttackResultCb) (const AttackResultRecord &rec) |
| typedef void(* | ClientFoundCb) (const uint8_t *bssid, const uint8_t *sta, int8_t rssi) |
| typedef void(* | RogueApCb) (const RogueApRecord &rec) |
Enumerations | |
| enum | Error { OK = 0 , ERR_WIFI_INIT = 1 , ERR_INVALID_CH = 2 , ERR_NOT_ACTIVE = 3 , ERR_ALREADY_CAPTURED = 4 , ERR_NOT_FOUND = 5 } |
| enum | DisconnectStrategy : uint8_t { STRATEGY_AUTO_FALLBACK = 0 , STRATEGY_SIMULTANEOUS = 1 } |
| enum | AttackResult : uint8_t { RESULT_PMKID_EXHAUSTED = 1 , RESULT_CSA_EXPIRED = 2 } |
Functions | |
| static bool | isValidChannel (uint8_t ch) |
Variables | |
| static const uint8_t | CHANNEL_5GHZ_COMMON [] |
| struct politician::__attribute__ |
Definition at line 31 of file Politician.h.
| Class Members | ||
|---|---|---|
| uint8_t | addr1[6] | |
| uint8_t | addr2[6] | |
| uint8_t | addr3[6] | |
| uint16_t | duration | |
| uint16_t | frame_ctrl | |
| ieee80211_hdr_t | hdr | |
| uint8_t | payload[0] | |
| uint16_t | seq_ctrl | |
| struct politician::ApRecord |
Snapshot of a discovered Access Point from the internal cache.
Populated by getAp(), getApByBssid(), and the ApFoundCb callback.
Definition at line 108 of file PoliticianTypes.h.
| struct politician::AttackResultRecord |
Identifies the AP and failure reason for a failed attack, delivered to the AttackResultCb callback.
Definition at line 204 of file PoliticianTypes.h.
| Class Members | ||
|---|---|---|
| uint8_t | bssid[6] | |
| AttackResult | result | |
| char | ssid[33] | |
| uint8_t | ssid_len | |
| struct politician::Config |
Configuration for the Politician engine.
Definition at line 73 of file PoliticianTypes.h.
| Class Members | ||
|---|---|---|
| uint32_t | ap_expiry_ms = 300000 | |
| uint8_t | capture_filter = LOG_FILTER_HANDSHAKES | LOG_FILTER_PROBES | |
| bool | capture_group_keys = false | |
| bool | capture_half_handshakes = false | |
| uint8_t | csa_beacon_count = 8 | |
| uint8_t | csa_deauth_count = 15 | |
| uint32_t | csa_wait_ms = 4000 | |
| uint8_t | deauth_burst_count = 16 | |
| uint8_t | deauth_reason = 7 | |
| bool | deauth_reason_cycling = true | |
| uint8_t | enc_filter_mask = 0xFF | |
| uint8_t | fish_max_retries = 2 | |
| uint32_t | fish_timeout_ms = 2000 | |
| uint16_t | hop_dwell_ms = 200 | |
| uint16_t | hop_max_dwell_ms = 400 | |
| uint16_t | hop_min_dwell_ms = 50 | |
| uint32_t | m1_lock_ms = 800 | |
| uint8_t | max_total_attempts = 0 | |
| uint8_t | min_beacon_count = 0 | |
| int8_t | min_rssi = -100 | |
| uint16_t | probe_aggr_interval_s = 30 | |
| uint32_t | probe_hidden_interval_ms = 0 | |
| bool | require_active_clients = false | |
| uint32_t | session_timeout_ms = 60000 | |
| bool | skip_immune_networks = true | |
| bool | smart_hopping = true | |
| char | ssid_filter[33] = {} | |
| bool | ssid_filter_exact = true | |
| uint8_t | sta_filter[6] = {} | |
| bool | unicast_deauth = true | |
| struct politician::DeviceFingerprint |
One fingerprint entry in the built-in or user-defined database.
Definition at line 279 of file PoliticianTypes.h.
| struct politician::DeviceRecord |
A matched device, delivered to the DeviceFoundCb callback.
Definition at line 294 of file PoliticianTypes.h.
| Class Members | ||
|---|---|---|
| uint8_t | channel | |
| uint8_t | confidence | |
| uint8_t | mac[6] | |
| uint8_t | match_flags | |
| char | model[32] | |
| int8_t | rssi | |
| char | vendor[32] | |
| struct politician::DisruptRecord |
A deauthentication or disassociation frame observed on the air, delivered to the DisruptCb callback.
Definition at line 252 of file PoliticianTypes.h.
| Class Members | ||
|---|---|---|
| uint8_t | bssid[6] | |
| uint8_t | channel | |
| uint8_t | dst[6] | |
| bool | rand_mac | |
| uint16_t | reason | |
| int8_t | rssi | |
| uint8_t | src[6] | |
| uint8_t | subtype | |
| struct politician::EapIdentityRecord |
A harvested 802.1X Enterprise plaintext identity, delivered to the IdentityCb callback.
Definition at line 231 of file PoliticianTypes.h.
| Class Members | ||
|---|---|---|
| uint8_t | bssid[6] | |
| uint8_t | channel | |
| uint8_t | client[6] | |
| char | identity[65] | |
| int8_t | rssi | |
| struct politician::HandshakeRecord |
A captured handshake or PMKID record delivered to the EapolCb callback.
The type field identifies the capture path; fields not relevant to that path are zeroed.
Definition at line 155 of file PoliticianTypes.h.
| Class Members | ||
|---|---|---|
| union HandshakeRecord.__unnamed3__ | __unnamed__ | |
| union HandshakeRecord.__unnamed5__ | __unnamed__ | |
| uint8_t | anonce[32] | |
| uint8_t | bssid[6] | |
| uint8_t | channel | |
| uint8_t | eapol_m3[256] | |
| uint16_t | eapol_m3_len | |
| uint8_t | eapol_m4[256] | |
| uint16_t | eapol_m4_len | |
| uint8_t | enc | |
| bool | has_anonce | |
| bool | has_m3 | |
| bool | has_m4 | |
| bool | has_mic | |
| bool | has_snonce | |
| bool | is_full | |
| uint8_t | mic[16] | |
| uint8_t | pmkid[16] | |
| int8_t | rssi | |
| uint8_t | sae_seq | |
| uint8_t | snonce[32] | |
| char | ssid[33] | |
| uint8_t | ssid_len | |
| uint8_t | sta[6] | |
| uint8_t | type | |
| union politician::HandshakeRecord.__unnamed3__ |
Definition at line 170 of file PoliticianTypes.h.
| Class Members | ||
|---|---|---|
| uint8_t | eapol_m2[256] | |
| uint8_t | sae_data[256] | |
| union politician::HandshakeRecord.__unnamed5__ |
Definition at line 176 of file PoliticianTypes.h.
| Class Members | ||
|---|---|---|
| uint16_t | eapol_m2_len | |
| uint16_t | sae_len | |
| struct politician::ProbeRequestRecord |
A probe request frame observed on the air, delivered to the ProbeRequestCb callback.
Definition at line 241 of file PoliticianTypes.h.
| Class Members | ||
|---|---|---|
| uint8_t | channel | |
| uint8_t | client[6] | |
| bool | rand_mac | |
| int8_t | rssi | |
| char | ssid[33] | |
| uint8_t | ssid_len | |
| struct politician::RogueApRecord |
Fired when a second BSSID advertising the same SSID is observed on the same channel.
This indicates a potential evil twin or rogue AP. Both the known AP and the newcomer are included.
Definition at line 218 of file PoliticianTypes.h.
| Class Members | ||
|---|---|---|
| uint8_t | channel | |
| uint8_t | known_bssid[6] | |
| uint8_t | rogue_bssid[6] | |
| int8_t | rssi | |
| char | ssid[33] | |
| uint8_t | ssid_len | |
| struct politician::Stats |
Cumulative frame and capture counters for the engine session.
Accessible via getStats(), reset with resetStats().
Definition at line 136 of file PoliticianTypes.h.
| typedef void(* politician::ApFoundCb) (const ApRecord &ap) |
Definition at line 52 of file PoliticianTypes.h.
| typedef void(* politician::AttackResultCb) (const AttackResultRecord &rec) |
Definition at line 211 of file PoliticianTypes.h.
| typedef void(* politician::ClientFoundCb) (const uint8_t *bssid, const uint8_t *sta, int8_t rssi) |
Definition at line 212 of file PoliticianTypes.h.
| typedef void(* politician::DisruptCb) (const DisruptRecord &rec) |
Definition at line 58 of file PoliticianTypes.h.
| typedef void(* politician::EapolCb) (const HandshakeRecord &rec) |
Definition at line 55 of file PoliticianTypes.h.
| typedef void(* politician::IdentityCb) (const EapIdentityRecord &rec) |
Definition at line 56 of file PoliticianTypes.h.
| typedef void(* politician::LogCb) (const char *msg) |
Definition at line 43 of file PoliticianTypes.h.
| typedef void(* politician::PacketCb) (const uint8_t *payload, uint16_t len, int8_t rssi, uint8_t channel, uint32_t ts_usec) |
Definition at line 54 of file PoliticianTypes.h.
| typedef void(* politician::ProbeRequestCb) (const ProbeRequestRecord &rec) |
Definition at line 57 of file PoliticianTypes.h.
| typedef void(* politician::RogueApCb) (const RogueApRecord &rec) |
Definition at line 227 of file PoliticianTypes.h.
| typedef int(* politician::TargetScoreCb) (const ApRecord &ap, const char *vendor) |
Definition at line 53 of file PoliticianTypes.h.
| enum politician::AttackResult : uint8_t |
| Enumerator | |
|---|---|
| RESULT_PMKID_EXHAUSTED | |
| RESULT_CSA_EXPIRED | |
Definition at line 198 of file PoliticianTypes.h.
| enum politician::DisconnectStrategy : uint8_t |
| Enumerator | |
|---|---|
| STRATEGY_AUTO_FALLBACK | |
| STRATEGY_SIMULTANEOUS | |
Definition at line 192 of file PoliticianTypes.h.
| enum politician::Error |
| Enumerator | |
|---|---|
| OK | |
| ERR_WIFI_INIT | |
| ERR_INVALID_CH | |
| ERR_NOT_ACTIVE | |
| ERR_ALREADY_CAPTURED | |
| ERR_NOT_FOUND | |
Definition at line 61 of file PoliticianTypes.h.
|
static |
Definition at line 25 of file Politician.cpp.
References CHANNEL_5GHZ_COMMON.
Referenced by politician::Politician::setChannel(), and politician::Politician::setChannelList().
|
static |
Definition at line 19 of file Politician.cpp.
Referenced by isValidChannel(), and politician::Politician::setChannelBands().