diff --git a/esp32_marauder/CommandLine.cpp b/esp32_marauder/CommandLine.cpp index a2f16da..1a249d8 100644 --- a/esp32_marauder/CommandLine.cpp +++ b/esp32_marauder/CommandLine.cpp @@ -220,6 +220,7 @@ void CommandLine::runCommand(String input) { // WiFi sniff/scan Serial.println(HELP_EVIL_PORTAL_CMD); + Serial.println(HELP_PACKET_COUNT_CMD); Serial.println(HELP_SIGSTREN_CMD); Serial.println(HELP_SCANAP_CMD); Serial.println(HELP_SCANSTA_CMD); @@ -520,6 +521,16 @@ void CommandLine::runCommand(String input) { menu_function_obj.drawStatusBar(); #endif wifi_scan_obj.StartScan(WIFI_SCAN_SIG_STREN, TFT_MAGENTA); + wifi_scan_obj.renderPacketRate(); + } + // Packet count + else if (cmd_args.get(0) == PACKET_COUNT_CMD) { + Serial.println("Starting Packet Count Scan. Stop with " + (String)STOPSCAN_CMD); + #ifdef HAS_SCREEN + display_obj.clearScreen(); + menu_function_obj.drawStatusBar(); + #endif + wifi_scan_obj.StartScan(WIFI_SCAN_PACKET_RATE, TFT_ORANGE); } // Wardrive else if (cmd_args.get(0) == WARDRIVE_CMD) { diff --git a/esp32_marauder/CommandLine.h b/esp32_marauder/CommandLine.h index 350ed60..16de3cd 100644 --- a/esp32_marauder/CommandLine.h +++ b/esp32_marauder/CommandLine.h @@ -54,6 +54,7 @@ const char PROGMEM NMEA_CMD[] = "nmea"; // WiFi sniff/scan const char PROGMEM EVIL_PORTAL_CMD[] = "evilportal"; +const char PROGMEM PACKET_COUNT_CMD[] = "packetcount"; const char PROGMEM SIGSTREN_CMD[] = "sigmon"; const char PROGMEM SCANAP_CMD[] = "scanap"; const char PROGMEM SCANSTA_CMD[] = "scansta"; @@ -109,6 +110,7 @@ const char PROGMEM HELP_NMEA_CMD[] = "nmea"; // WiFi sniff/scan const char PROGMEM HELP_EVIL_PORTAL_CMD[] = "evilportal [-c start [-w html.html]/sethtml ]"; +const char PROGMEM HELP_PACKET_COUNT_CMD[] = "packetcount"; const char PROGMEM HELP_SIGSTREN_CMD[] = "sigmon"; const char PROGMEM HELP_SCANAP_CMD[] = "scanap"; const char PROGMEM HELP_SCANSTA_CMD[] = "scansta"; diff --git a/esp32_marauder/MenuFunctions.cpp b/esp32_marauder/MenuFunctions.cpp index 57a5479..476e879 100644 --- a/esp32_marauder/MenuFunctions.cpp +++ b/esp32_marauder/MenuFunctions.cpp @@ -1614,7 +1614,7 @@ void MenuFunctions::RunSetup() this->renderGraphUI(WIFI_SCAN_CHAN_ANALYZER); wifi_scan_obj.StartScan(WIFI_SCAN_CHAN_ANALYZER, TFT_CYAN); }); - this->addNodes(&wifiSnifferMenu, "Packet Rate", TFTORANGE, NULL, PACKET_MONITOR, [this]() { + this->addNodes(&wifiSnifferMenu, "Packet Count", TFTORANGE, NULL, PACKET_MONITOR, [this]() { display_obj.clearScreen(); this->drawStatusBar(); wifi_scan_obj.StartScan(WIFI_SCAN_PACKET_RATE, TFT_ORANGE); diff --git a/esp32_marauder/WiFiScan.cpp b/esp32_marauder/WiFiScan.cpp index f243166..89bfc6b 100644 --- a/esp32_marauder/WiFiScan.cpp +++ b/esp32_marauder/WiFiScan.cpp @@ -5525,27 +5525,29 @@ void WiFiScan::displayAnalyzerString(String str) { } void WiFiScan::renderPacketRate() { - uint8_t line_count = 0; - display_obj.tft.fillRect(0, - (STATUS_BAR_WIDTH * 2) + 1, - TFT_WIDTH, - TFT_HEIGHT - STATUS_BAR_WIDTH + 1, - TFT_BLACK); - display_obj.tft.setCursor(0, (STATUS_BAR_WIDTH * 2) + CHAR_WIDTH); - display_obj.tft.setTextSize(1); - display_obj.tft.setTextColor(TFT_WHITE, TFT_BLACK); - for (int i = 0; i < access_points->size(); i++) { - if (access_points->get(i).selected) { - display_obj.tft.println(access_points->get(i).essid + ": " + (String)access_points->get(i).packets); - Serial.println(access_points->get(i).essid + ": " + (String)access_points->get(i).packets); + #ifdef HAS_SCREEN + uint8_t line_count = 0; + display_obj.tft.fillRect(0, + (STATUS_BAR_WIDTH * 2) + 1, + TFT_WIDTH, + TFT_HEIGHT - STATUS_BAR_WIDTH + 1, + TFT_BLACK); + display_obj.tft.setCursor(0, (STATUS_BAR_WIDTH * 2) + CHAR_WIDTH); + display_obj.tft.setTextSize(1); + display_obj.tft.setTextColor(TFT_WHITE, TFT_BLACK); + for (int i = 0; i < access_points->size(); i++) { + if (access_points->get(i).selected) { + display_obj.tft.println(access_points->get(i).essid + ": " + (String)access_points->get(i).packets); + Serial.println(access_points->get(i).essid + ": " + (String)access_points->get(i).packets); + } } - } - for (int i = 0; i < stations->size(); i++) { - if (stations->get(i).selected) { - display_obj.tft.println(macToString(stations->get(i).mac) + ": " + (String)stations->get(i).packets); - Serial.println(macToString(stations->get(i).mac) + ": " + (String)stations->get(i).packets); + for (int i = 0; i < stations->size(); i++) { + if (stations->get(i).selected) { + display_obj.tft.println(macToString(stations->get(i).mac) + ": " + (String)stations->get(i).packets); + Serial.println(macToString(stations->get(i).mac) + ": " + (String)stations->get(i).packets); + } } - } + #endif } void WiFiScan::packetRateLoop(uint32_t tick) {