Using built-in LED when an attack is running. (+ options)

This commit is contained in:
N0vaPixel
2017-03-05 02:24:14 +01:00
parent 8c33c191ee
commit 58964ed989
5 changed files with 38 additions and 8 deletions

View File

@@ -231,11 +231,14 @@ void Attack::run(){
} }
void Attack::start(int num){ void Attack::start(int num){
Serial.println(num);
if(!isRunning[num]){ if(!isRunning[num]){
Serial.println(num);
isRunning[num] = true; isRunning[num] = true;
stati[num] = "starting"; stati[num] = "starting";
prevTime[num] = millis(); prevTime[num] = millis();
attackTimeoutCounter[num] = 0; attackTimeoutCounter[num] = 0;
refreshLed();
if(debug) Serial.println("starting "+(String)attackNames[num]+" attack"); if(debug) Serial.println("starting "+(String)attackNames[num]+" attack");
if(num == 1 && isRunning[2]) stop(2); if(num == 1 && isRunning[2]) stop(2);
else if(num == 2 && isRunning[1]) stop(1); else if(num == 2 && isRunning[1]) stop(1);
@@ -248,6 +251,7 @@ void Attack::stop(int num){
isRunning[num] = false; isRunning[num] = false;
stati[num] = "ready"; stati[num] = "ready";
prevTime[num] = millis(); prevTime[num] = millis();
refreshLed();
} }
} }
@@ -311,3 +315,20 @@ String Attack::getResults(){
} }
return json; return json;
} }
void Attack::refreshLed(){
int numberRunning = 0;
for(int i=0; i<sizeof(isRunning); i++){
if(isRunning[i]) numberRunning++;
if(debug) Serial.println(numberRunning);
}
if(numberRunning>=1 && settings.useLed){
if(debug) Serial.println("Attack LED : ON");
digitalWrite(BUILTIN_LED, LOW);
}
else if(numberRunning==0 || !settings.useLed){
if(debug) Serial.println("Attack LED : OFF");
digitalWrite(BUILTIN_LED, HIGH);
}
}

View File

@@ -38,6 +38,7 @@ class Attack
void stop(int num); void stop(int num);
void stopAll(); void stopAll();
String getResults(); String getResults();
void refreshLed();
private: private:
void buildDeauth(Mac _ap, Mac _client, uint8_t type, uint8_t reason); void buildDeauth(Mac _ap, Mac _client, uint8_t type, uint8_t reason);
@@ -109,6 +110,7 @@ class Attack
int macListChangeCounter = 0; int macListChangeCounter = 0;
int attackTimeoutCounter[attacksNum]; int attackTimeoutCounter[attacksNum];
int channels[macListLen]; int channels[macListLen];
bool buildInLedStatus = false;
}; };
#endif #endif

View File

@@ -20,7 +20,7 @@ void Settings::load(){
if((int)EEPROM.read(apChannelAdr) >= 1 && (int)EEPROM.read(apChannelAdr) <= 11){ if((int)EEPROM.read(apChannelAdr) >= 1 && (int)EEPROM.read(apChannelAdr) <= 11){
apChannel = (int)EEPROM.read(apChannelAdr); apChannel = (int)EEPROM.read(apChannelAdr);
} else { } else {
reset(); apChannel = 1;
} }
apScanHidden = (bool)EEPROM.read(apScanHiddenAdr); apScanHidden = (bool)EEPROM.read(apScanHiddenAdr);
@@ -30,6 +30,7 @@ void Settings::load(){
attackPacketRate = EEPROM.read(attackPacketRateAdr); attackPacketRate = EEPROM.read(attackPacketRateAdr);
clientScanTime = EEPROM.read(clientScanTimeAdr); clientScanTime = EEPROM.read(clientScanTimeAdr);
attackEncrypted = (bool)EEPROM.read(attackEncryptedAdr); attackEncrypted = (bool)EEPROM.read(attackEncryptedAdr);
useLed = (bool)EEPROM.read(useLedAdr);
} }
} }
@@ -51,6 +52,7 @@ void Settings::reset(){
attackPacketRate = 10; attackPacketRate = 10;
clientScanTime = 15; clientScanTime = 15;
attackEncrypted = false; attackEncrypted = false;
useLed = false;
if(debug) Serial.println("done"); if(debug) Serial.println("done");
@@ -78,6 +80,7 @@ void Settings::save(){
EEPROM.write(attackPacketRateAdr, attackPacketRate); EEPROM.write(attackPacketRateAdr, attackPacketRate);
EEPROM.write(clientScanTimeAdr, clientScanTime); EEPROM.write(clientScanTimeAdr, clientScanTime);
EEPROM.write(attackEncryptedAdr, attackEncrypted); EEPROM.write(attackEncryptedAdr, attackEncrypted);
EEPROM.write(useLedAdr, useLed);
EEPROM.commit(); EEPROM.commit();
if(debug){ if(debug){
@@ -100,6 +103,7 @@ void Settings::info(){
Serial.println("attack packet rate: "+(String)attackPacketRate); Serial.println("attack packet rate: "+(String)attackPacketRate);
Serial.println("client scan time: "+(String)clientScanTime); Serial.println("client scan time: "+(String)clientScanTime);
Serial.println("attack SSID encrypted: "+(String)attackEncrypted); Serial.println("attack SSID encrypted: "+(String)attackEncrypted);
Serial.println("use built-in LED: "+(String)attackEncrypted);
} }
String Settings::get(){ String Settings::get(){
@@ -116,6 +120,7 @@ String Settings::get(){
json += "\"attackPacketRate\":"+(String)attackPacketRate+","; json += "\"attackPacketRate\":"+(String)attackPacketRate+",";
json += "\"clientScanTime\":"+(String)clientScanTime+","; json += "\"clientScanTime\":"+(String)clientScanTime+",";
json += "\"attackEncrypted\":"+(String)attackEncrypted+","; json += "\"attackEncrypted\":"+(String)attackEncrypted+",";
json += "\"useLed\":"+(String)useLed+",";
json += "\"nameList\":["; json += "\"nameList\":[";
for(int i=0;i<nameList.len;i++){ for(int i=0;i<nameList.len;i++){

View File

@@ -24,6 +24,7 @@ extern NameList nameList;
#define ssidHiddenAdr 1096 #define ssidHiddenAdr 1096
#define apScanHiddenAdr 1097 #define apScanHiddenAdr 1097
#define apChannelAdr 1098 #define apChannelAdr 1098
#define useLedAdr 1099
class Settings class Settings
{ {
@@ -50,6 +51,7 @@ class Settings
int clientScanTime; int clientScanTime;
bool attackEncrypted; bool attackEncrypted;
bool useLed;
private: private:
}; };

File diff suppressed because one or more lines are too long