2016-05-25 10 views
0

ich das PEAR Net_Nmap Paket von hier bin versucht:
https://pear.php.net/package/Net_Nmap/Fehler PHP PEAR XAMPP mit 7.0.2.1 Net_Nmap

Ich habe Nmap auf meinem Windows-10-Maschine installiert. Ich fand den folgenden Code, der den Job erledigen sollte. Gibt es etwas, das ich konfigurieren sollte, bevor ich PEAR verwende?

Ich erhalte 2 Fehler:

Warning: require_once(XML/Parser.php): failed to open stream: No such file or directory in C:\xampp\htdocs\Net_Nmap-master\Net\Nmap\Parser.php on line 31

Fatal error: require_once(): Failed opening required 'XML/Parser.php' (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\Net_Nmap-master\Net\Nmap\Parser.php on line 31

<?php 
// Scan network to retrieve hosts and services information. 
require_once 'Net/Nmap.php'; 

//Define the target and options 
$target = array('193.95.13.16','www.google.com'); 
$options = array('nmap_binary' => 'C:\Program Files (x86)\Nmap'); 

try { 
    $nmap = new Net_Nmap($options); 
    $nmap_options = array(
     'os_detection' => true, 
     'service_info' => true, 
     'port_ranges' => 'U:53,111,137,T:21-25,80,139,8080', 
    // Only   specified ports 
    ); 
    $nmap->enableOptions($nmap_options); 

    // Scan 
    $res = $nmap->scan($target); 

    // Get failed hosts 
    $failed_to_resolve = $nmap->getFailedToResolveHosts(); 
    if (count($failed_to_resolve) > 0) { 
     echo 'Failed to resolve given hostname/IP: ' . 
      implode (', ', $failed_to_resolve) . 
      "\n"; 
    } 

    //Parse XML Output to retrieve Hosts Object 
    $hosts = $nmap->parseXMLOutput(); 

    //Print results 
    foreach ($hosts as $key => $host) { 
     echo 'Hostname: ' . $host->getHostname() . "\n"; 
     echo 'Address: ' . $host->getAddress() . "\n"; 
     echo 'OS: ' . $host->getOS() . "\n"; 
     echo 'Status: ' . $host->getStatus . "\n"; 
     $services = $host->getServices(); 
     echo 'Number of discovered services: ' . count($services) . "\n"; 
     foreach ($services as $key => $service) { 
      echo "\n"; 
      echo 'Service Name: ' . $service->name . "\n"; 
      echo 'Port: ' . $service->port . "\n"; 
      echo 'Protocol: ' . $service->protocol . "\n"; 
      echo 'Product information: ' . $service->product . "\n"; 
      echo 'Product version: ' . $service->version . "\n"; 
      echo 'Product additional info: ' . $service->extrainfo . "\n"; 
     } 
    } 
} 
catch (Net_Nmap_Exception $ne) { 
    echo $ne->getMessage(); 
} 
?> 
+0

Mögliches Duplikat von [Fehler beim Öffnen des Streams: Keine solche Datei oder kein Verzeichnis] ​​(http://stackoverflow.com/questions/36577020/failed-to-open-stream-no-such-file-or- directory) –

+0

Ihre Antwort ist in der oben stehenden verknüpften Frage, was bedeutet, dass Ihr Include-Pfad falsch ist –

Antwort

0

Sie nicht die PEAR installer verwendet haben die net_nmap package, zu installieren, aber wahrscheinlich heruntergeladen die .tgz Datei und extrahiert sie.

Nun fehlen die Abhängigkeiten, die unten links auf der Net_NMap-Seite aufgelistet sind. Installiere sie.