Path: blob/master/modules/network/ping_sweep_java/pingSweep.java
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*/56import java.applet.Applet;7import java.io.IOException;8import java.net.InetAddress;9import java.net.UnknownHostException;10import java.util.ArrayList;11import java.util.List;1213/*14* Coded by Michele "antisnatchor" Orru' for the BeEF project.15* Given a single IP or IP range, check without hosts are alive (ping sweep).16*/17public class pingSweep extends Applet {1819public static String ipRange = "";20public static int timeout = 0;21public static List<InetAddress> hostList;2223public pingSweep() {24super();25return;26}2728public void init(){29ipRange = getParameter("ipRange");30timeout = Integer.parseInt(getParameter("timeout"));31}3233//called from JS34public static int getHostsNumber(){35try{36hostList = parseIpRange(ipRange);37}catch(UnknownHostException e){ //do something3839}40return hostList.size();41}4243//called from JS44public static String getAliveHosts(){45String result = "";46try{47result = checkHosts(hostList);48}catch(IOException io){49//do something50}51return result;52}5354private static List<InetAddress> parseIpRange(String ipRange) throws UnknownHostException {5556List<InetAddress> addresses = new ArrayList<InetAddress>();57if (ipRange.indexOf("-") != -1) { //multiple IPs: ipRange = 172.31.229.240-172.31.229.25058String[] ips = ipRange.split("-");59String[] octets = ips[0].split("\\.");60int lowerBound = Integer.parseInt(octets[3]);61int upperBound = Integer.parseInt(ips[1].split("\\.")[3]);6263for (int i = lowerBound; i <= upperBound; i++) {64String ip = octets[0] + "." + octets[1] + "." + octets[2] + "." + i;65addresses.add(InetAddress.getByName(ip));66}67} else { //single ip: ipRange = 172.31.229.24068addresses.add(InetAddress.getByName(ipRange));69}70return addresses;71}7273private static String checkHosts(List<InetAddress> inetAddresses) throws IOException {74String alive = "";75for (InetAddress inetAddress : inetAddresses) {76if (inetAddress.isReachable(timeout)) {77alive += inetAddress.toString() + "\n";78}79}80return alive;81}82}838485