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_pingCheck();
if ($Scan->debugging) {
    print_r($scan_subnets);
}
if ($scan_subnets === false) {
    die("No subnets are marked for checking status updates");
}
//fetch all addresses that need to be checked
foreach ($scan_subnets as $s) {
    $subnet_addresses = $Addresses->fetch_subnet_addresses($s->id);
    //set array for fping
    if ($Scan->icmp_type == "fping") {
        $subnets[] = array("id" => $s->id, "cidr" => $Subnets->transform_to_dotted($s->subnet) . "/" . $s->mask);
    }
    //save addresses
    if (sizeof($subnet_addresses) > 1) {