
parse-nmap.ps1
By: a guest on
Nov 19th, 2012 | syntax:
Power Shell | size: 1.25 KB | hits: 38 | expires: Never
[cmdletbinding()]
param (
[string[]]$targets
)
cls
foreach ($targetHost in $targets){
[xml]$nmapResults = nmap -Pn -oX - $targetHost;
$portResults = @();
foreach ($port in $nmapresults.nmaprun.host.ports.port){
$portinfo = New-Object System.Object;
$portinfo|add-member -membertype noteproperty -name hostname -value $targetHost;
$portinfo|add-member -membertype noteproperty -name protocol -value $($port.protocol);
$portinfo|add-member -membertype noteproperty -name portid -value $($port.portid);
$portinfo|add-member -membertype noteproperty -name state -value $($port.state.state);
$portinfo|add-member -membertype noteproperty -name reason -value $($port.state.reason);
$portinfo|add-member -membertype noteproperty -name reason_ttl -value $( $port.state.reason_ttl);
$portinfo|add-member -membertype noteproperty -name servicename -value $($port.service.name);
$portinfo|add-member -membertype noteproperty -name method -value $($port.service.method);
$portinfo|add-member -membertype noteproperty -name conf -value $($port.service.conf);
$portResults += $portinfo;
}
}
$portresults |ft -auto;