我在大型网络上完成了nmap扫描,现在我正在尝试组织数据。
我的报告是:
的结果nmap -A -p 0-65535 -iL [filename] -oX [filename]
所以我现在要做的是提取我扫描的每个IP地址的结果。我在这里发现了另一篇文章,解决方案是使用awk:
awk 'BEGIN {RS="< host ";} /^starttime/ {print RS $0;}' [filename]
这对我没有用,因为它不是在第一个块之后停止,而是直接通过报告。我当然意识到这是因为&#39;&lt;主持人&#39;和&#39; starttime&#39;在输出中找到该范围内的所有IP地址。
我是否还要运行nmap报告并提取每个IP地址的扫描报告并将其保存在单独的文件中?一个For循环当然需要这样做...一旦找到一个块的提取和写入文件然后可以使用for循环扩展(我认为)......
或者,根据经验或纯粹的灵感,是否有人有更精致的解决方案/建议?
非常感谢任何有关此事的帮助。
答案 0 :(得分:0)
不要使用awk
来解析XML数据。 Nmap&#39; s XML output format已有详细记录,Python中也有解析器(Ndiff也可以安装为Python 2库并且内置了解析器),{{ 3}},Ruby,或者您可以使用Perl。