Files
esp8266_deauther/htmlfiles/index.html
Stefan Kremser 7e2dfcbf5a Implemented beacon list attack
and improved the json string generation
2017-02-27 12:41:59 +01:00

143 lines
3.7 KiB
HTML

<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="style.css">
<style>
#apScanStatus{
margin-left: 1em;
}
nav a:first-child{
background: #000;
color:#fff;
}
#rssiBar{
width: 100px;
height: 15px;
background: #fff;
}
#rssiBar > div{
width: 52px;
height: 15px;
background: #c20000;
}
#wpa_info{
padding-left: 0.34em;
}
</style>
<script src="functions.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=0.8">
</head>
<body>
<nav>
<a href="index.html">APs</a>
<a href="clients.html">Clients</a>
<a href="attack.html">Attack</a>
<a href="settings.html">Settings</a>
</nav>
<div id="content">
<h1>Scan for WiFi access points</h1>
<button onclick="scan()" id="apScanStart">scan</button>
<a id="scanInfo">scanning...</a>
<p class="block bold" id="networksFound">Networks found: 0</p>
<p class="small">
MAC: <span id="apMAC"></span>
</p>
<br />
</div>
<table>
</table>
<p class="small" id="wpa_info">
<br />
WPA* = WPA/WPA2 auto mode
</p>
</body>
<script>
var table = document.getElementsByTagName('table')[0];
var networkInfo = document.getElementById('networksFound');
var scanBtn = document.getElementById('apScanStart');
var scanInfo = document.getElementById('scanInfo');
var apMAC = document.getElementById('apMAC');
function toggleBtn(onoff){
if(onoff){
scanInfo.style.visibility = 'hidden';
scanBtn.style.visibility = 'visible';
}else{
scanInfo.style.visibility = 'visible';
scanBtn.style.visibility = 'hidden';
}
}
function compare(a,b) {
if (a.r > b.r) return -1;
if (a.r < b.r) return 1;
return 0;
}
function getEncryption(num){
if(num == 8) return "WPA*";
else if(num == 4) return "WPA2";
else if(num == 2) return "WPA";
else if(num == 7) return "none";
else if(num == 5) return "WEP";
}
function getResults(){
toggleBtn(true);
getResponse("APScanResults.json",function(responseText){
var res = JSON.parse(responseText);
res.aps = res.aps.sort(compare);
networkInfo.innerHTML = "Networks found: "+res.aps.length;
apMAC.innerHTML = "";
var tr = '';
if(res.aps.length > 0) tr += '<tr><th>Ch</th><th>SSID</th><th>RSSI</th><th>Encrypt.</th><th>Select</th></tr>';
for(var i=0;i<res.aps.length;i++){
if(res.aps[i].se == 1) tr += '<tr class="selected">';
else tr += '<tr>';
tr += '<td>'+res.aps[i].c+'</td>';
tr += '<td>'+res.aps[i].ss+'</td>';
tr += '<td>'+res.aps[i].r+' <meter value="'+res.aps[i].r+'" max="-30" min="-100" low="-80" high="-60" optimum="-50"></meter></td>';
tr += '<td>'+getEncryption(res.aps[i].e)+'</td>';
if(res.aps[i].se){
tr += '<td><button class="marginNull selectedBtn" onclick="select('+res.aps[i].i+')">deselect</button></td>';
apMAC.innerHTML = res.aps[i].m;
}
else tr += '<td><button class="marginNull" onclick="select('+res.aps[i].i+')">select</button></td>';
tr += '</tr>';
}
table.innerHTML = tr;
});
}
function scan(){
toggleBtn(false);
getResponse("APScan.json",function(responseText){
if(responseText == "true") getResults();
else alert("error");
toggleBtn(true);
},function(){
location.reload();
});
}
function select(num){
getResponse("APSelect.json?num="+num,function(responseText){
if(responseText == "true") getResults();
else alert("error");
});
}
getResults();
</script>
</html>