Politician 1.0.0
WiFi Auditing Library for ESP32
Loading...
Searching...
No Matches
main.cpp
Go to the documentation of this file.
1#include <Arduino.h>
2#include <Politician.h>
3
4using namespace politician;
5
7
8void onHandshake(const HandshakeRecord &rec) {
9 Serial.println("\n[!] HANDSHAKE STOLEN!");
10 Serial.printf("SSID: %s\n", rec.ssid);
11 Serial.printf("BSSID: %02X:%02X:%02X:%02X:%02X:%02X\n",
12 rec.bssid[0], rec.bssid[1], rec.bssid[2],
13 rec.bssid[3], rec.bssid[4], rec.bssid[5]);
14
15 if (rec.type == CAP_PMKID) {
16 Serial.print("PMKID: ");
17 for (int i = 0; i < 16; i++) Serial.printf("%02x", rec.pmkid[i]);
18 Serial.println();
19 } else {
20 Serial.println("EAPOL M1+M2 captured.");
21 }
22}
23
24void onApFound(const ApRecord &ap) { }
25
26void setup() {
27 Serial.begin(115200);
28 delay(1000);
29 Serial.println("\n--- Politician Library Example ---");
30
33
34 Config cfg;
35 cfg.hop_dwell_ms = 250;
36
37 if (engine.begin(cfg) != politician::OK) {
38 Serial.println("WiFi Init Failed!");
39 while(1) delay(100);
40 }
41
43 engine.setActive(true);
45
46 Serial.println("Wardriving started...");
47}
48
49void loop() {
50 engine.tick();
51
52 static uint32_t lastStats = 0;
53 if (millis() - lastStats > 10000) {
54 lastStats = millis();
55 Stats &st = engine.getStats();
56 Serial.printf("[Stats] frames=%lu eapol=%lu pmkid=%lu total_caps=%lu \n",
57 st.total, st.eapol, st.pmkid_found, st.captures);
58 }
59}
#define ATTACK_ALL
#define CAP_PMKID
The core WiFi handshake capturing engine.
Definition Politician.h:89
void tick()
Main worker method.
void setActive(bool active)
Enables or disables frame processing.
void setApFoundCallback(ApFoundCb cb)
Sets the callback for when a new Access Point is discovered.
Definition Politician.h:209
void setEapolCallback(EapolCb cb)
Sets the callback for when a handshake (EAPOL or PMKID) is captured.
Definition Politician.h:204
Error begin(const Config &cfg=Config())
Initializes the WiFi driver in promiscuous mode.
void startHopping(uint16_t dwellMs=0)
Starts autonomous channel hopping.
void setAttackMask(uint8_t mask)
Configures which attack techniques are enabled.
Politician engine
Definition main.cpp:6
void onHandshake(const HandshakeRecord &rec)
Definition main.cpp:8
void setup()
Definition main.cpp:26
void onApFound(const ApRecord &ap)
Definition main.cpp:24
void loop()
Definition main.cpp:49
Configuration for the Politician engine.