This repository has been archived on 2025-02-13. You can view files and clone it, but cannot push or open issues or pull requests.
lanScan2/nmap_cmd.php
2023-04-27 18:45:08 +02:00

44 lines
1.2 KiB
PHP

<?php
$file = $argv[1];
$site = basename($file, ".yaml");
$__DIR__ = __DIR__;
$conf = yaml_parse_file($file);
$xml = new SimpleXMLElement(<<<XML
<?xml version="1.0"?>
<?xml-stylesheet href='../results.xsl' type='text/xsl'?>
<lanScanConf scanpath="scans/$site.xml"/>
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 -T4 -p $services --script $__DIR__/http-info.nse -oX $__DIR__/scans/.~$site.xml $targets");
?>