XML ); $targets = []; $services = []; foreach ($conf as $key => $value) { if ($key == "site") { $xml->addAttribute("site", $value); } else { $xmlGroup = $xml->addChild("group"); $xmlGroup->addAttribute("name", $key); foreach($value as $hostaddress => $servicesList) { $xmlHost = $xmlGroup->addChild("host"); $xmlHost->addAttribute("address", $hostaddress); $targets[$hostaddress] = true; if ($servicesList) foreach ($servicesList as $service) { $xmlService = $xmlHost->addChild("service"); $xmlService->addAttribute("name", $service); $services[$service] = true; } } } } $xml->asXML("site/$site.xml"); $targets = join(array_keys($targets), " "); $services = join(array_keys($services), ","); echo ("nmap -v -Pn -p $services --script $__DIR__/http-info.nse -oX $__DIR__/scans/.~$site.xml $targets"); ?>