//1// Copyright (c) 2006-2025 Wade Alcorn - [email protected]2// Browser Exploitation Framework (BeEF) - https://beefproject.com3// See the file 'doc/COPYING' for copying permission4//56/**7* Provides port scanning functions for the zombie. A mod of pdp's scanner8*9* Version: '0.1',10* author: 'Petko Petkov',11* homepage: 'http://www.gnucitizen.org'12* @namespace beef.net.portscanner13*/1415beef.net.portscanner = {1617/**18*19* @param callback20* @param target21* @param port22* @param timeout23*/24scanPort: function(callback, target, port, timeout)25{26var timeout = (timeout == null)?100:timeout;27var img = new Image();2829img.onerror = function () {30if (!img) return;31img = undefined;32callback(target, port, 'open');33};3435img.onload = img.onerror;3637img.src = 'http://' + target + ':' + port;3839setTimeout(function () {40if (!img) return;41img = undefined;42callback(target, port, 'closed');43}, timeout);4445},46/**47*48* @param callback49* @param target50* @param ports_str51* @param timeout52*/53scanTarget: function(callback, target, ports_str, timeout)54{55var ports = ports_str.split(",");5657for (index = 0; index < ports.length; index++) {58this.scanPort(callback, target, ports[index], timeout);59};6061}62};6364beef.regCmp('beef.net.portscanner');65666768