Optimized attack.json

This commit is contained in:
Stefan Kremser
2017-05-20 11:48:36 +02:00
parent eefa84fb75
commit 0513fa2cd2
5 changed files with 52 additions and 31 deletions

View File

@@ -132,6 +132,7 @@ void Attack::changeRandom(int num){
ssidList.clear(); ssidList.clear();
ssidList._random(); ssidList._random();
randomCounter = 0; randomCounter = 0;
ssidChange = true;
} }
} }
@@ -269,6 +270,7 @@ void Attack::run() {
ssidList.clear(); ssidList.clear();
ssidList._random(); ssidList._random();
randomCounter = 0; randomCounter = 0;
ssidChange = true;
} }
else randomCounter++; else randomCounter++;
} }
@@ -371,17 +373,19 @@ size_t Attack::getSize(){
} }
json += "],"; json += "],";
jsonSize += json.length(); jsonSize += json.length();
json = "\"ssid\":["; if(ssidChange){
jsonSize += json.length(); json = "\"ssid\":[";
for (int i = 0; i < ssidList.len; i++) { jsonSize += json.length();
json = "\"" + ssidList.get(i) + "\""; for (int i = 0; i < ssidList.len; i++) {
if (i != ssidList.len - 1) json += ","; json = "\"" + ssidList.get(i) + "\"";
if (i != ssidList.len - 1) json += ",";
jsonSize += json.length();
}
json = "],";
jsonSize += json.length(); jsonSize += json.length();
} }
json = "\"randomMode\":" + (String)randomMode + "}";
json = "],";
json += "\"randomMode\":" + (String)randomMode + "}";
jsonSize += json.length(); jsonSize += json.length();
return jsonSize; return jsonSize;
@@ -427,17 +431,24 @@ void Attack::sendResults(){
json += "\"running\":" + (String)isRunning[i] + ""; json += "\"running\":" + (String)isRunning[i] + "";
json += "}"; json += "}";
if (i != attacksNum - 1) json += ","; if (i != attacksNum - 1) json += ",";
} }
json += "],\"ssid\":["; json += "],";
sendToBuffer(json); sendToBuffer(json);
for (int i = 0; i < ssidList.len; i++) { if(ssidChange){
json = "\"" + ssidList.get(i) + "\""; json = "\"ssid\":[";
if (i != ssidList.len - 1) json += ",";
sendToBuffer(json); sendToBuffer(json);
for (int i = 0; i < ssidList.len; i++) {
json = "\"" + ssidList.get(i) + "\"";
if (i != ssidList.len - 1) json += ",";
sendToBuffer(json);
}
json = "],";
sendToBuffer(json);
ssidChange = false;
} }
json = "],";
json += "\"randomMode\":" + (String)randomMode + "}"; json = "\"randomMode\":" + (String)randomMode + "}";
sendToBuffer(json); sendToBuffer(json);
sendBuffer(); sendBuffer();

View File

@@ -46,6 +46,8 @@ class Attack
size_t getSize(); size_t getSize();
void refreshLed(); void refreshLed();
void changeRandom(int num); void changeRandom(int num);
bool ssidChange = false;
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);

File diff suppressed because one or more lines are too long

View File

@@ -301,27 +301,32 @@ void addSSID() {
}else{ }else{
ssidList.add(server.arg("ssid")); ssidList.add(server.arg("ssid"));
} }
attack.ssidChange = true;
server.send( 200, "text/json", "true"); server.send( 200, "text/json", "true");
}else server.send( 200, "text/json", "false"); }else server.send( 200, "text/json", "false");
} }
void deleteSSID() { void deleteSSID() {
ssidList.remove(server.arg("num").toInt()); ssidList.remove(server.arg("num").toInt());
attack.ssidChange = true;
server.send( 200, "text/json", "true"); server.send( 200, "text/json", "true");
} }
void randomSSID() { void randomSSID() {
ssidList._random(); ssidList._random();
attack.ssidChange = true;
server.send( 200, "text/json", "true"); server.send( 200, "text/json", "true");
} }
void clearSSID() { void clearSSID() {
ssidList.clear(); ssidList.clear();
attack.ssidChange = true;
server.send( 200, "text/json", "true"); server.send( 200, "text/json", "true");
} }
void resetSSID() { void resetSSID() {
ssidList.load(); ssidList.load();
attack.ssidChange = true;
server.send( 200, "text/json", "true"); server.send( 200, "text/json", "true");
} }

View File

@@ -9,10 +9,10 @@ var num = getE("num");
var randomIntrvl = getE("randomIntrvl"); var randomIntrvl = getE("randomIntrvl");
var randomBtn = getE("randomBtn"); var randomBtn = getE("randomBtn");
var resultInterval; var resultInterval;
var res; var data;
function getResults() { function getResults() {
getResponse("attackInfo.json", function(responseText) { getResponse("attackInfo.json", function(responseText) {
res = JSON.parse(responseText); var res = JSON.parse(responseText);
var aps = ""; var aps = "";
var clients = ""; var clients = "";
var tr = "<tr><th>Attack</th><th>Status</th><th>Start/Stop</th></tr>"; var tr = "<tr><th>Attack</th><th>Status</th><th>Start/Stop</th></tr>";
@@ -39,16 +39,19 @@ function getResults() {
} }
table.innerHTML = tr; table.innerHTML = tr;
ssidCounter.innerHTML = res.ssid.length + "/48"; if(typeof res.ssid != 'undefined'){
data = res;
var tr = "<tr><th>Name</th><th>X</th></tr>"; ssidCounter.innerHTML = res.ssid.length + "/48";
for (var i = 0; i < res.ssid.length; i++) {
tr += "<tr>"; var tr = "<tr><th>Name</th><th>X</th></tr>";
tr += "<td>" + res.ssid[i] + "</td>"; for (var i = 0; i < res.ssid.length; i++) {
tr += '<td><button class="marginNull button-warn" onclick="deleteSSID(' + i + ')">x</button></td>'; tr += "<tr>";
tr += "</tr>"; tr += "<td>" + res.ssid[i] + "</td>";
} tr += '<td><button class="marginNull button-warn" onclick="deleteSSID(' + i + ')">x</button></td>';
ssidList.innerHTML = tr; tr += "</tr>";
}
ssidList.innerHTML = tr;
}
}, function() { }, function() {
clearInterval(resultInterval); clearInterval(resultInterval);
@@ -68,7 +71,7 @@ function addSSID() {
var _ssidName = ssid.value; var _ssidName = ssid.value;
if(_ssidName.length > 0){ if(_ssidName.length > 0){
if(res.ssid.length >= 64) showMessage("SSID list full :(", 2500); if(data.ssid.length >= 64) showMessage("SSID list full :(", 2500);
else{ else{
saved.innerHTML = ""; saved.innerHTML = "";
getResponse("addSSID.json?ssid=" + _ssidName + "&num="+num.value, getResults); getResponse("addSSID.json?ssid=" + _ssidName + "&num="+num.value, getResults);
@@ -78,7 +81,7 @@ function addSSID() {
function cloneSSID(_ssidName) { function cloneSSID(_ssidName) {
ssid.value = _ssidName; ssid.value = _ssidName;
num.value = 48 - res.ssid.length; num.value = 48 - data.ssid.length;
} }
function deleteSSID(num) { function deleteSSID(num) {