Beispiel #1
0
    die("Threading is required for scanning subnets. Please recompile PHP with pcntl extension");
}
// verify ping path
if ($Scan->icmp_type == "ping") {
    if (!file_exists($Scan->settings->scanPingPath)) {
        die("Invalid ping path!");
    }
}
// verify fping path
if ($Scan->icmp_type == "fping") {
    if (!file_exists($Scan->settings->scanFPingPath)) {
        die("Invalid fping path!");
    }
}
//first fetch all subnets to be scanned
$scan_subnets = $Subnets->fetch_all_subnets_for_discoveryCheck(1);
//set addresses
if ($scan_subnets !== false) {
    // initial array
    $addresses_tmp = array();
    // loop
    foreach ($scan_subnets as $s) {
        // if subnet has slaves dont check it
        if ($Subnets->has_slaves($s->id) === false) {
            $addresses_tmp[$s->id] = $Scan->prepare_addresses_to_scan("discovery", $s->id, false);
        }
    }
    //reindex
    if (sizeof($addresses_tmp) > 0) {
        foreach ($addresses_tmp as $s_id => $a) {
            foreach ($a as $ip) {