我正在尝试让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']
;