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
4
using namespace
politician
;
5
6
Politician
engine
;
7
8
void
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
24
void
setup
() {
25
Serial.
begin
(115200);
26
delay
(1000);
27
Serial.println(
"\n--- Politician Library Example ---"
);
28
29
engine
.
setEapolCallback
(
onHandshake
);
30
31
Config
cfg;
32
cfg.
hop_dwell_ms
= 250;
33
34
if
(
engine
.
begin
(cfg) !=
politician::OK
) {
35
Serial.println(
"WiFi Init Failed!"
);
36
while
(1)
delay
(100);
37
}
38
39
engine
.
startHopping
();
40
engine
.
setAttackMask
(
ATTACK_ALL
);
41
42
Serial.println(
"Wardriving started..."
);
43
}
44
45
void
loop
() {
46
engine
.
tick
();
47
48
static
uint32_t lastStats = 0;
49
if
(
millis
() - lastStats > 10000) {
50
lastStats =
millis
();
51
Stats
&st =
engine
.
getStats
();
52
Serial.printf(
"[Stats] frames=%lu eapol=%lu pmkid=%lu total_caps=%lu \n"
,
53
st.
total
, st.
eapol
, st.
pmkid_found
, st.
captures
);
54
}
55
}
ATTACK_ALL
#define ATTACK_ALL
Definition
PoliticianTypes.h:28
CAP_PMKID
#define CAP_PMKID
Definition
PoliticianTypes.h:15
Politician.h
politician::Politician
The core WiFi handshake capturing engine.
Definition
Politician.h:91
politician::Politician::getStats
Stats & getStats()
Definition
Politician.h:246
politician::Politician::tick
void tick()
Main worker method.
Definition
Politician.cpp:487
politician::Politician::setEapolCallback
void setEapolCallback(EapolCb cb)
Sets the callback for when a handshake (EAPOL or PMKID) is captured.
Definition
Politician.h:326
politician::Politician::begin
Error begin(const Config &cfg=Config())
Initializes the WiFi driver in promiscuous mode.
Definition
Politician.cpp:89
politician::Politician::startHopping
void startHopping(uint16_t dwellMs=0)
Starts autonomous channel hopping.
Definition
Politician.cpp:203
politician::Politician::setAttackMask
void setAttackMask(uint8_t mask)
Configures which attack techniques are enabled globally.
Definition
Politician.cpp:243
engine
Politician engine
Definition
main.cpp:6
onHandshake
void onHandshake(const HandshakeRecord &rec)
Definition
main.cpp:8
setup
void setup()
Definition
main.cpp:24
loop
void loop()
Definition
main.cpp:45
politician
Definition
Politician.cpp:9
politician::HandshakeRecord::pmkid
uint8_t pmkid[16]
Definition
PoliticianTypes.h:165
politician::Stats::pmkid_found
uint32_t pmkid_found
Definition
PoliticianTypes.h:142
politician::Config::hop_dwell_ms
uint16_t hop_dwell_ms
Definition
PoliticianTypes.h:74
politician::HandshakeRecord::bssid
uint8_t bssid[6]
Definition
PoliticianTypes.h:159
politician::Stats::eapol
uint32_t eapol
Definition
PoliticianTypes.h:141
politician::Stats::total
uint32_t total
Definition
PoliticianTypes.h:137
politician::HandshakeRecord::ssid
char ssid[33]
Definition
PoliticianTypes.h:161
politician::OK
@ OK
Definition
PoliticianTypes.h:62
politician::HandshakeRecord::type
uint8_t type
Definition
PoliticianTypes.h:156
politician::Stats::captures
uint32_t captures
Definition
PoliticianTypes.h:145
politician::Config
Configuration for the Politician engine.
Definition
PoliticianTypes.h:73
politician::HandshakeRecord
A captured handshake or PMKID record delivered to the EapolCb callback.
Definition
PoliticianTypes.h:155
politician::Stats
Cumulative frame and capture counters for the engine session.
Definition
PoliticianTypes.h:136
delay
void delay(uint32_t ms)
Definition
politician_compat.h:13
millis
uint32_t millis()
Definition
politician_compat.h:10
src
main.cpp
Generated by
1.9.8