我试图让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
答案 0 :(得分:0)
我遇到了同样的问题,在查看了源代码和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']