NMap 如何决定打印进度线?

And*_*ter 6 networking nmap

检查比我通常做的更大的子网;在大学中为交通地图项目绘制集群套件(已获得许可),我想知道一些事情。

NMap 通常会定期打印其进度,但我不清楚“定期”是什么,因为电流扫描基本上每 100% 打印一行,最多 1% 完成,然后在 1.5% 打印一行,并且什么也没说自从。

我怀疑它会在不同的“级别”发生变化,但有人有实际答案吗?

bon*_*ing 16

您可以在运行扫描期间通过按任何未绑定到函数的键来获取状态行(按?获取绑定列表)。

或者,您可以传递--stats-every带有时间值的选项。所以这个:nmap --stats-every 1m每分钟打印一个详细的(2 行)状态。此状态行也显示在 XML 输出文件中。


And*_*ter 7

在深入了解 NMap 源代码(特别是timing.cc)之后,这就是我对默认详细程度和调试值所拥有的。

  • 如果扫描完成 < 0.003%,则不要打印
  • 如果完成了 < 1%,请使用以下规则,但不要打印 ETA
  • 如果扫描中剩余的估计时间小于 30 秒,则不要打印
  • 如果没有估计时间,请不要打印
  • 否则,如果先前的估计已通过(过去的预计到达时间),则打印新的估计
  • 最后,如果 ETA 的更改超过 3 分钟,或正在进行 5% 的更改,请打印新的 ETA

我认为基本上就是这样,但如果有人发现更多规则,请随时在评论中添加它们,我会编辑它们。