mirror of
https://github.com/justcallmekoko/ESP32Marauder.git
synced 2026-04-28 12:03:07 -07:00
Add more stats to raw capture
This commit is contained in:
@@ -1025,6 +1025,13 @@ void WiFiScan::StopScan(uint8_t scan_mode)
|
|||||||
this->analyzer_name_update = true;
|
this->analyzer_name_update = true;
|
||||||
this->mgmt_frames = 0;
|
this->mgmt_frames = 0;
|
||||||
this->data_frames = 0;
|
this->data_frames = 0;
|
||||||
|
this->beacon_frames = 0;
|
||||||
|
this->req_frames = 0;
|
||||||
|
this->resp_frames = 0;
|
||||||
|
this->deauth_frames = 0;
|
||||||
|
this->eapol_frames = 0;
|
||||||
|
this->min_rssi = 0;
|
||||||
|
this->max_rssi = -128;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1404,6 +1411,8 @@ void WiFiScan::RunLoadAPList() {
|
|||||||
ap.rssi = obj["rssi"];
|
ap.rssi = obj["rssi"];
|
||||||
ap.packets = obj["packet"];
|
ap.packets = obj["packet"];
|
||||||
ap.sec = obj["sec"];
|
ap.sec = obj["sec"];
|
||||||
|
ap.wps = obj["wps"];
|
||||||
|
ap.man = obj["man"].as<String>();
|
||||||
access_points->add(ap);
|
access_points->add(ap);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1450,6 +1459,8 @@ void WiFiScan::RunSaveAPList(bool save_as) {
|
|||||||
jsonAp["rssi"] = ap.rssi;
|
jsonAp["rssi"] = ap.rssi;
|
||||||
jsonAp["packets"] = ap.packets;
|
jsonAp["packets"] = ap.packets;
|
||||||
jsonAp["sec"] = ap.sec;
|
jsonAp["sec"] = ap.sec;
|
||||||
|
jsonAp["wps"] = ap.wps;
|
||||||
|
jsonAp["man"] = ap.man;
|
||||||
}
|
}
|
||||||
|
|
||||||
String jsonString;
|
String jsonString;
|
||||||
@@ -3409,6 +3420,8 @@ void WiFiScan::apSnifferCallbackFull(void* buf, wifi_promiscuous_pkt_type_t type
|
|||||||
// We got a probe resp. Check for WPS configs
|
// We got a probe resp. Check for WPS configs
|
||||||
if (snifferPacket->payload[0] == 0x50) {
|
if (snifferPacket->payload[0] == 0x50) {
|
||||||
|
|
||||||
|
String man = wifi_scan_obj.extractManufacturer(snifferPacket->payload);
|
||||||
|
|
||||||
if (wps) {
|
if (wps) {
|
||||||
char addr[] = "00:00:00:00:00:00";
|
char addr[] = "00:00:00:00:00:00";
|
||||||
getMAC(addr, snifferPacket->payload, 10);
|
getMAC(addr, snifferPacket->payload, 10);
|
||||||
@@ -3418,7 +3431,7 @@ void WiFiScan::apSnifferCallbackFull(void* buf, wifi_promiscuous_pkt_type_t type
|
|||||||
if ((index > 0) && (!access_points->get(index).wps)) {
|
if ((index > 0) && (!access_points->get(index).wps)) {
|
||||||
AccessPoint new_ap = access_points->get(index);
|
AccessPoint new_ap = access_points->get(index);
|
||||||
new_ap.wps = true;
|
new_ap.wps = true;
|
||||||
new_ap.man = wifi_scan_obj.extractManufacturer(snifferPacket->payload);
|
new_ap.man = man;
|
||||||
access_points->set(index, new_ap);
|
access_points->set(index, new_ap);
|
||||||
Serial.println((String)access_points->get(index).essid + ": RXd WPS Configs");
|
Serial.println((String)access_points->get(index).essid + ": RXd WPS Configs");
|
||||||
|
|
||||||
@@ -4452,6 +4465,25 @@ void WiFiScan::rawSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type)
|
|||||||
const wifi_ieee80211_packet_t *ipkt = (wifi_ieee80211_packet_t *)snifferPacket->payload;
|
const wifi_ieee80211_packet_t *ipkt = (wifi_ieee80211_packet_t *)snifferPacket->payload;
|
||||||
const WifiMgmtHdr *hdr = &ipkt->hdr;
|
const WifiMgmtHdr *hdr = &ipkt->hdr;
|
||||||
wifi_scan_obj.mgmt_frames++;
|
wifi_scan_obj.mgmt_frames++;
|
||||||
|
|
||||||
|
// Do our counts
|
||||||
|
if (snifferPacket->payload[0] == 0x40) // Probe request
|
||||||
|
wifi_scan_obj.req_frames++;
|
||||||
|
else if (snifferPacket->payload[0] == 0x50) // Probe response
|
||||||
|
wifi_scan_obj.resp_frames++;
|
||||||
|
else if (snifferPacket->payload[0] == 0x80) // Beacon
|
||||||
|
wifi_scan_obj.beacon_frames++;
|
||||||
|
else if (snifferPacket->payload[0] == 0xC0) // Deauth
|
||||||
|
wifi_scan_obj.deauth_frames++;
|
||||||
|
else if (((snifferPacket->payload[30] == 0x88 && snifferPacket->payload[31] == 0x8e) || ( snifferPacket->payload[32] == 0x88 && snifferPacket->payload[33] == 0x8e))) // eapol
|
||||||
|
wifi_scan_obj.eapol_frames++;
|
||||||
|
|
||||||
|
// Get min/max rssi
|
||||||
|
if (snifferPacket->rx_ctrl.rssi < wifi_scan_obj.min_rssi)
|
||||||
|
wifi_scan_obj.min_rssi = snifferPacket->rx_ctrl.rssi;
|
||||||
|
|
||||||
|
if (snifferPacket->rx_ctrl.rssi > wifi_scan_obj.max_rssi)
|
||||||
|
wifi_scan_obj.max_rssi = snifferPacket->rx_ctrl.rssi;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
wifi_scan_obj.data_frames++;
|
wifi_scan_obj.data_frames++;
|
||||||
@@ -6062,14 +6094,27 @@ void WiFiScan::renderRawStats() {
|
|||||||
|
|
||||||
display_obj.tft.println("Stats\n");
|
display_obj.tft.println("Stats\n");
|
||||||
|
|
||||||
display_obj.tft.println("Mgmt: " + (String)this->mgmt_frames);
|
display_obj.tft.println(" Mgmt: " + (String)this->mgmt_frames);
|
||||||
display_obj.tft.println("Data: " + (String)this->data_frames);
|
display_obj.tft.println(" Data: " + (String)this->data_frames);
|
||||||
display_obj.tft.println("Chan: " + (String)this->set_channel);
|
display_obj.tft.println(" Channel: " + (String)this->set_channel);
|
||||||
|
display_obj.tft.println(" Beacon: " + (String)this->beacon_frames);
|
||||||
|
display_obj.tft.println("Probe Req: " + (String)this->req_frames);
|
||||||
|
display_obj.tft.println("Probe Res: " + (String)this->resp_frames);
|
||||||
|
display_obj.tft.println(" Deauth: " + (String)this->deauth_frames);
|
||||||
|
display_obj.tft.println(" EAPOL: " + (String)this->eapol_frames);
|
||||||
|
display_obj.tft.println(" RSSI: " + (String)this->min_rssi + " - " + (String)this->max_rssi);
|
||||||
|
|
||||||
Serial.println("Mgmt: " + (String)this->mgmt_frames);
|
|
||||||
Serial.println("Data: " + (String)this->data_frames);
|
|
||||||
Serial.println("Chan: " + (String)this->set_channel);
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Serial.println(" Mgmt: " + (String)this->mgmt_frames);
|
||||||
|
Serial.println(" Data: " + (String)this->data_frames);
|
||||||
|
Serial.println(" Channel: " + (String)this->set_channel);
|
||||||
|
Serial.println(" Beacon: " + (String)this->beacon_frames);
|
||||||
|
Serial.println("Probe Req: " + (String)this->req_frames);
|
||||||
|
Serial.println("Probe Res: " + (String)this->resp_frames);
|
||||||
|
Serial.println(" Deauth: " + (String)this->deauth_frames);
|
||||||
|
Serial.println(" EAPOL: " + (String)this->eapol_frames);
|
||||||
|
Serial.println(" RSSI: " + (String)this->min_rssi + " - " + (String)this->max_rssi);
|
||||||
}
|
}
|
||||||
|
|
||||||
void WiFiScan::renderPacketRate() {
|
void WiFiScan::renderPacketRate() {
|
||||||
|
|||||||
@@ -409,6 +409,13 @@ class WiFiScan
|
|||||||
// Stuff for RAW stats
|
// Stuff for RAW stats
|
||||||
uint32_t mgmt_frames = 0;
|
uint32_t mgmt_frames = 0;
|
||||||
uint32_t data_frames = 0;
|
uint32_t data_frames = 0;
|
||||||
|
uint32_t beacon_frames = 0;
|
||||||
|
uint32_t req_frames = 0;
|
||||||
|
uint32_t resp_frames = 0;
|
||||||
|
uint32_t deauth_frames = 0;
|
||||||
|
uint32_t eapol_frames = 0;
|
||||||
|
int8_t min_rssi = 0;
|
||||||
|
int8_t max_rssi = -128;
|
||||||
|
|
||||||
String analyzer_name_string = "";
|
String analyzer_name_string = "";
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
#define POLISH_POTATO
|
#define POLISH_POTATO
|
||||||
|
|
||||||
//// BOARD TARGETS
|
//// BOARD TARGETS
|
||||||
//#define MARAUDER_M5STICKC
|
//#define MARAUDER_M5STICKC
|
||||||
//#define MARAUDER_M5STICKCP2
|
//#define MARAUDER_M5STICKCP2
|
||||||
//#define MARAUDER_MINI
|
//#define MARAUDER_MINI
|
||||||
//#define MARAUDER_V4
|
//#define MARAUDER_V4
|
||||||
|
|||||||
Reference in New Issue
Block a user