-
-
Save brizzbane/637dfed0032d6f00e191 to your computer and use it in GitHub Desktop.
libnmap parser help
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
nmap_report = NmapParser.parse(nmap_proc.stdout) | |
for nmap_host in nmap_report.hosts: | |
host_keys = ["starttime", "endtime", "address", "hostnames", | |
"ipv4", "ipv6", "mac", "status"] | |
jhost = {} | |
for hkey in host_keys: | |
if hkey == "starttime" or hkey == "endtime": | |
val = getattr(nmap_host, hkey) | |
jhost[hkey] = datetime.fromtimestamp(int(val) if len(val) else 0) | |
else: | |
jhost[hkey] = getattr(nmap_host, hkey) | |
for nmap_service in nmap_host.services: | |
service_keys = ["port", "protocol", "state"] | |
ritems = [] | |
# create report item for basic port scan | |
jservice = {} | |
for skey in service_keys: | |
jservice[skey] = getattr(nmap_service, skey) | |
jservice['type'] = 'port-scan' | |
jservice['service'] = nmap_service.service | |
jservice['service-data'] = nmap_service.banner | |
ritems.append(jservice) | |
for nse_item in nmap_service.scripts_results: | |
print nse_item | |
jnse = {} | |
for skey in service_keys: | |
jnse[skey] = getattr(nmap_service, skey) | |
jnse['type'] = 'nse-script' | |
jnse['service'] = nse_item['id'] | |
#jnse['service-data'] = nse_item['output'] | |
ritems.append(jnse) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment