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
onApFound
(
const
ApRecord
&ap) { }
25
26
void
setup
() {
27
Serial.
begin
(115200);
28
delay(1000);
29
Serial.println(
"\n--- Politician Library Example ---"
);
30
31
engine
.
setEapolCallback
(
onHandshake
);
32
engine
.
setApFoundCallback
(
onApFound
);
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
42
engine
.
startHopping
();
43
engine
.
setActive
(
true
);
44
engine
.
setAttackMask
(
ATTACK_ALL
);
45
46
Serial.println(
"Wardriving started..."
);
47
}
48
49
void
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
}
ATTACK_ALL
#define ATTACK_ALL
Definition
PoliticianTypes.h:18
CAP_PMKID
#define CAP_PMKID
Definition
PoliticianTypes.h:8
Politician.h
politician::Politician
The core WiFi handshake capturing engine.
Definition
Politician.h:89
politician::Politician::getStats
Stats & getStats()
Definition
Politician.h:190
politician::Politician::tick
void tick()
Main worker method.
Definition
Politician.cpp:237
politician::Politician::setActive
void setActive(bool active)
Enables or disables frame processing.
Definition
Politician.cpp:123
politician::Politician::setApFoundCallback
void setApFoundCallback(ApFoundCb cb)
Sets the callback for when a new Access Point is discovered.
Definition
Politician.h:209
politician::Politician::setEapolCallback
void setEapolCallback(EapolCb cb)
Sets the callback for when a handshake (EAPOL or PMKID) is captured.
Definition
Politician.h:204
politician::Politician::begin
Error begin(const Config &cfg=Config())
Initializes the WiFi driver in promiscuous mode.
Definition
Politician.cpp:82
politician::Politician::startHopping
void startHopping(uint16_t dwellMs=0)
Starts autonomous channel hopping.
Definition
Politician.cpp:167
politician::Politician::setAttackMask
void setAttackMask(uint8_t mask)
Configures which attack techniques are enabled.
Definition
Politician.cpp:181
engine
Politician engine
Definition
main.cpp:6
onHandshake
void onHandshake(const HandshakeRecord &rec)
Definition
main.cpp:8
setup
void setup()
Definition
main.cpp:26
onApFound
void onApFound(const ApRecord &ap)
Definition
main.cpp:24
loop
void loop()
Definition
main.cpp:49
politician
Definition
Politician.cpp:5
politician::HandshakeRecord::pmkid
uint8_t pmkid[16]
Definition
PoliticianTypes.h:107
politician::Stats::pmkid_found
uint32_t pmkid_found
Definition
PoliticianTypes.h:92
politician::Config::hop_dwell_ms
uint16_t hop_dwell_ms
Definition
PoliticianTypes.h:60
politician::HandshakeRecord::bssid
uint8_t bssid[6]
Definition
PoliticianTypes.h:102
politician::Stats::eapol
uint32_t eapol
Definition
PoliticianTypes.h:91
politician::Stats::total
uint32_t total
Definition
PoliticianTypes.h:87
politician::HandshakeRecord::ssid
char ssid[33]
Definition
PoliticianTypes.h:104
politician::OK
@ OK
Definition
PoliticianTypes.h:49
politician::HandshakeRecord::type
uint8_t type
Definition
PoliticianTypes.h:99
politician::Stats::captures
uint32_t captures
Definition
PoliticianTypes.h:94
politician::ApRecord
Definition
PoliticianTypes.h:76
politician::Config
Configuration for the Politician engine.
Definition
PoliticianTypes.h:59
politician::HandshakeRecord
Definition
PoliticianTypes.h:98
politician::Stats
Definition
PoliticianTypes.h:86
src
main.cpp
Generated by
1.9.8