【发布时间】:2015-09-17 14:34:41
【问题描述】:
我在一个大型网络上完成了 nmap 扫描,现在我正在尝试组织数据。
我的报告是以下结果:
nmap -A -p 0-65535 -iL [filename] -oX [filename]
所以我现在要做的是提取我扫描的每个 IP 地址的结果。我在这里找到了另一个帖子,解决方案是使用 awk :
awk 'BEGIN {RS="< host ";} /^starttime/ {print RS $0;}' [filename]
这对我不起作用,因为它没有在第一个块之后停止,而是直接通过报告。我当然意识到这是因为在该范围内的所有 IP 地址的输出中都找到了 '
我是否可以运行 nmap 报告并提取每个 IP 地址的扫描报告并将其保存在单独的文件中?当然需要一个 For 循环来执行此操作...一旦确定了一个块的提取和写入文件,那么可以使用 for 循环对其进行扩展(我认为)...
或者有没有人根据经验或纯粹的灵感,有更完善的解决方案/建议?
我们将不胜感激。
【问题讨论】:
-
显示示例输入以及该示例输入所需的输出。
-
插入示例输入对我来说有点困难,因为编辑报告需要大量时间。该报告为 xml 格式,并列出了主机名、端口扫描结果、操作系统名称、超时时间、上次重启信息。
-
并非所有 IP 的数据量都相同,但它们都具有相同的类别...
-
示例输出:我想获取主机 A 的所有扫描信息,假设 IP 地址为 192.168.1.100,并将其写入专用文件。然后我想对主机 B 做同样的事情……然后是主机 C……我可能有 300 个文件,每个文件都包含特定主机的状态。如果我在 excel 中执行此操作,我希望每个 IP 都有一个特定的选项卡,并且该选项卡包含相关信息。
-
如果没有示例数据,我只能推荐使用 XML 解析器。示例:
wget -O - http://www.nu.nl/rss/Algemeen 2>/dev/null | xmlstarlet sel -t -v /rss/channel/item/title