我正在尝试获取Nmap NSE脚本的输出以正确输出到我的终端。我正在使用libnmap模块,并且已经阅读了一些示例以及文档,所以我不确定哪里出了问题。
from libnmap.parser import NmapParser
p = NmapParser.parse_fromfile("test.xml")
for host in p.hosts:
for service in host.services:
for script_out in service.scripts_results:
print "Output of {0}: {1}".format(script_out['id'], script_out['output']
当我运行上面的脚本时,没有任何输出。如果我可以使上述脚本的逻辑正常工作,那么我可能可以在主脚本中使它正常工作。
我在终端中运行了nmap扫描以测试脚本。
nmap -sV --script dns-brute.nse -oX test.xml google.com
最佳答案
我陷入了同一个问题,在检查了源代码和xml文件之后,您会注意到,尽管脚本扫描了在xml文件上运行脚本的主机,但是元素Hostscript使得其他脚本午餐了(例如:ftp-anon)
好尝试一下,它应该工作
from libnmap.parser import NmapParser
p = NmapParser.parse_fromfile("test.xml")
for host in p.hosts:
for script_out in host.scripts_results:
print "Output of {0}: {1}".format(script_out['id'],script_out['output']