Politician 1.0.0
WiFi Auditing Library for ESP32
Loading...
Searching...
No Matches
PoliticianProbe.h
Go to the documentation of this file.
1#pragma once
2
3/**
4 * @file PoliticianProbe.h
5 * @brief Opt-in SSID wordlist for hidden network discovery via directed probe requests.
6 *
7 * Include this header and pass the wordlist to the engine:
8 * @code
9 * #include <PoliticianProbe.h>
10 * using namespace politician::probe;
11 *
12 * // Enable timed probing and load wordlist
13 * cfg.probe_hidden_interval_ms = 5000;
14 * engine.begin(cfg);
15 * engine.setProbeWordlist(WORDLIST, WORDLIST_COUNT);
16 * @endcode
17 *
18 * When a hidden AP is seen, the engine cycles one SSID from the wordlist per interval
19 * (per AP). Each AP keeps its own position, so no word is ever skipped.
20 * SSIDs are stored in flash (.rodata) and add ~1–2KB to binary size.
21 */
22
23#ifndef ARDUINO
24#error "PoliticianProbe.h requires the Arduino framework."
25#endif
26
27#include <Arduino.h>
28
29namespace politician {
30namespace probe {
31
32static const char * const WORDLIST[] PROGMEM = {
33 // ── Router defaults ──────────────────────────────────────────────────────
34 "linksys",
35 "NETGEAR",
36 "default",
37 "home",
38 "network",
39 "wireless",
40 "wifi",
41 "WIFI",
42 "router",
43 "gateway",
44 "TP-LINK",
45 "ASUS",
46 "dlink",
47 "D-Link",
48 "Belkin",
49 "belkin.setup",
50 "ATT",
51 "xfinitywifi",
52 "Xfinity",
53 "DIRECT",
54 "AndroidAP",
55 "iPhone",
56 // ── Common homelab / IoT SSIDs ───────────────────────────────────────────
57 "HomeNetwork",
58 "Home Network",
59 "MyNetwork",
60 "private",
61 "hidden",
62 "secret",
63 "internal",
64 "office",
65 "corp",
66 "corporate",
67 "management",
68 "mgmt",
69 "admin",
70 "guest",
71 "iot",
72 "IoT",
73 "lab",
74 "testnet",
75 "test",
76 "dev",
77 "staging",
78 "prod",
79 "backup",
80 "secure",
81 "staff",
82 "employee",
83 "CORP",
84 "OFFICE",
85 "GUEST",
86 // ── ISP CPE defaults ─────────────────────────────────────────────────────
87 "VODAFONE",
88 "Vodafone",
89 "BTHub",
90 "SkyHub",
91 "Virgin Media",
92 "Movistar",
93 "Claro",
94 "Vivo",
95 "TIM",
96 "OI",
97 "NET",
98 "Speedy",
99 "Technicolor",
100 "HomeHub",
101 "FiOS",
102 "Optimum",
103 "Spectrum",
104 "Cox",
105};
106
107static const uint8_t WORDLIST_COUNT = (uint8_t)(sizeof(WORDLIST) / sizeof(WORDLIST[0]));
108
109} // namespace probe
110} // namespace politician
static const uint8_t WORDLIST_COUNT
static const char *const WORDLIST[] PROGMEM