最新的backtrack5(bt5)官方网站已经提供下载,backtrack5是基于ubuntu Lucid LTS. 内核2.6.38开发的,完全开源并和GPL兼容。

Backtrack 中文网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 1791|回复: 3

[资源] Nmap 参考指南之时间和性能

[复制链接]
珍彦
梁驰
Nmap 开发的最高优先级是性能。在本地网络对一个主机的默认扫描(nmap hostname)需要 1/5 秒。而仅仅眨眼的时间,就需要扫描上万甚至几十万的主机。此外,一些特定的扫描选项会明 显增加扫描时间,如 UDP 扫描和版本检测。同样,防火墙配置以及特殊的响应速度限制也会增 加时间。Nmap 使用了并行算法和许多先进的算法来加速扫描,用户对 Nmap 如何工作有最终的控 制权。高级用户可以仔细地调整 Nmap 命令,在满足时间要求的同时获得他们所关心的信息。
改善扫描时间的技术有:忽略非关键的检测、升级最新版本的 Nmap(性能增强不断改善)。 优化 时间参数也会带来实质性的变化,这些参数如下。
--min-hostgroup <milliseconds>; --max-hostgroup <milliseconds> (调整并行扫描组的大 小)

Nmap 具有并行扫描多主机端口或版本的能力,Nmap 将多个目标 IP 地址空间分成组,然 后在同一时间对一个组进行扫描。通常,大的组更有效。缺点是只有当整个组扫描结束 后才会提供主机的扫描结果。如果组的大小定义为 50,则只有当前 50 个主机扫描结束后 才能得到报告(详细模式中的补充信息除外)。
默认方式下,Nmap 采取折衷的方法。开始扫描时的组较小,最小为 5,这样便于尽快产 生结果;随后增长组的大小,最大为 1024。确切的大小依赖于所给定的选项。为保证效 率,针对 UDP 或少量端口的 TCP 扫描,Nmap 使用大的组。
--max-hostgroup 选项用于说明使用最大的组 Nmap 不会超出这个大小 --min-hostgroup 选项说明最小的组,Nmap 会保持组大于这个值。如果在指定的接口上没有足够的目标主 机来满足所指定的最小值,Nmap 可能会采用比所指定的值小的组。这两个参数虽然很少 使用,但都用于保持组的大小在一个指定的范围之内。
这些选项的主要用途是说明一个最小组的大小,使得整个扫描更加快速。通常选择 256 来扫描 C 类网段。对于端口数较多的扫描,超出该值没有意义。对于端口数较少的扫描 2048 或更大的组大小是有帮助的。
--min-parallelism <milliseconds>; --max-parallelism <milliseconds> (调整探测报文的 并行度)

这些选项控制用于主机组的探测报文数量,可用于端口扫描和主机发现。默认状态下, Nmap 基于网络性能计算一个理想的并行度,这个值经常改变。如果报文被丢弃, Nmap 降低速度,探测报文数量减少。随着网络性能的改善,理想的探测报文数量会缓慢增加 这些选项确定这个变量的大小范围。默认状态下,当网络不可靠时,理想的并行度值可 能为 1,在好的条件下,可能会增长至几百。
最常见的应用是--min-parallelism 值大于 1,以加快性能不佳的主机或网络的扫描。这 个选项具有风险,如果过高则影响准确度,同时也会降低 Nmap 基于网络条件动态控制并 行度的能力。这个值设为 10 较为合适,这个值的调整往往作为最后的手段。
--max-parallelism 选项通常设为 1,以防止 Nmap 在同一时间向主机发送多个探测报文 和选择--scan-delay 同时使用非常有用,虽然这个选项本身的用途已经很好。
--min_rtt_timeout <milliseconds>, --max-rtt-timeout <milliseconds>,
--initial-rtt-timeout <milliseconds> (调整探测报文超时)

Nmap 使用一个运行超时值来确定等待探测报文响应的时间,随后会放弃或重新发送探测 报文。Nmap 基于上一个探测报文的响应时间来计算超时值,如果网络延迟比较显著和不 定,这个超时值会增加几秒。初始值的比较保守(高),而当 Nmap 扫描无响应的主机时, 这个保守值会保持一段时间。
这些选项以毫秒为单位,采用小的--max-rtt-timeout 值,使 --initial-rtt-timeout 值大于默认值可以明显减少扫描时间,特别是对不能 ping 通的扫描(-P0)以及具有严格 过滤的网络。如果使用太小的值,使得很多探测报文超时从而重新发送,而此时可能响 应消息正在发送,这使得整个扫描的时间会增加。
如果所有的主机都在本地网络,对于--max-rtt-timeout 值来说,100 毫秒比较合适。如 果存在路由,首先使用 ICMP ping 工具 ping 主机,或使用其它报文工具如 hpings,可以 更好地穿透防火墙。查看大约 10 个包的最大往返时间,然后将 --initial-rtt-timeout 设成这个时间的 2 倍,--max-rtt-timeout 可设成这个时间值的 3 倍或 4 倍。通常,不 管 ping 的时间是多少,最大的 rtt 值不得小于 100ms,不能超过 1000ms。
--min_rtt_timeout 这个选项很少使用,当网络不可靠时, Nmap 的默认值也显得过于强 烈,这时这个选项可起作用。当网络看起来不可靠时,Nmap 仅将超时时间降至最小值, 这个情况是不正常的,需要向 namp-dev 邮件列表报告 bug。
--host-timeout <milliseconds> (放弃低速目标主机)

由于性能较差或不可靠的网络硬件或软件、带宽限制、严格的防火墙等原因,一些主机需要很长的时间扫描。这些极少数的主机扫描往往占据了大部分的扫描时间。因此,最好的办法是减少时间消耗并且忽略这些主机 使用 --host-timeout 选项来说明等待的时 间(毫秒)。通常使用 1800000 来保证 Nmap 不会在单个主机上使用超过半小时的时间。需 要注意的是,Nmap 在这半小时中可以同时扫描其它主机,因此并不是完全放弃扫描。超 时的主机被忽略,因此也没有针对该主机的端口表、操作系统检测或版本检测结果的输 出。
--scan-delay <milliseconds>; --max_scan-delay <milliseconds> (调整探测报文的时间间隔)

这个选项用于 Nmap 控制针对一个主机发送探测报文的等待时间(毫秒),在带宽控制的情 况下这个选项非常有效。Solaris 主机在响应 UDP 扫描探测报文报文时,每秒只发送一个 ICMP 消息 因此 Nmap 发送的很多数探测报文是浪费的 --scan-delay 设为 1000 使 Nmap 低速运行。Nmap 尝试检测带宽控制并相应地调整扫描的延迟,但并不影响明确说明何种 速度工作最佳。
--scan-delay 的另一个用途是躲闭基于阈值的入侵检测和预防系统(IDS/IPS)。
-T <Paranoid|Sneaky|Polite|Normal|Aggressive|Insane> (设置时间模板)

上述优化时间控制选项的功能很强大也很有效,但有些用户会被迷惑。此外,往往选择合适参数的时间超过了所需优化的扫描时间。因此,Nmap 提供了一些简单的方法,使用 6 个时间模板,使用时采用-T 选项及数字(0 - 5) 或名称。模板名称有 paranoid (0)、 sneaky (1)、polite (2)、normal(3)、 aggressive (4)和 insane (5)。前两种模式用 于 IDS 躲避,Polite 模式降低了扫描速度以使用更少的带宽和目标主机资源。默认模式 为 Normal,因此-T3 实际上是未做任何优化。Aggressive 模式假设用户具有合适及可靠 的网络从而加速扫描。Insane 模式假设用户具有特别快的网络或者愿意为获得速度而牺 牲准确性。
用户可以根据自己的需要选择不同的模板,由 Nmap 负责选择实际的时间值。模板也会针 对其它的优化控制选项进行速度微调。例如,-T4 针对 TCP 端口禁止动态扫描延迟超过 10ms,-T5 对应的值为 5ms。模板可以和优化调整控制选项组合使用,但模板必须首先指 定,否则模板的标准值会覆盖用户指定的值。建议在扫描可靠的网络时使用 -T4,即使 在自己要增加优化控制选项时也使用(在命令行的开始),从而从这些额外的较小的优化 中获益。

如果用于有足够的带宽或以太网连接,仍然建议使用-T4 选项。有些用户喜欢-T5 选项, 但这个过于强烈。有时用户考虑到避免使主机崩溃或者希望更礼貌一些会采用-T2 选项 他们并没意识到-T Polite 选项是如何的慢,这种模式的扫描比默认方式实际上要多花 10 倍的时间。默认时间选项(-T3)很少有主机崩溃和带宽问题,比较适合于谨慎的用户 不进行版本检测比进行时间调整能更有效地解决这些问题。
虽然-T0 和-T1 选项可能有助于避免 IDS 告警,但在进行上千个主机或端口扫描时,会显 著增加时间。对于这种长时间的扫描,宁可设定确切的时间值,而不要去依赖封装的-T0 和-T1 选项。
T0 选项的主要影响是对于连续扫描,在一个时间只能扫描一个端口,每个探测报文的发 送间隔为 5 分钟 T1 和 T2 选项比较类似 探测报文间隔分别为 15 秒和 0.4 秒 T3 是 Nmap 的默认选项,包含了并行扫描。 T4 选项与 --max-rtt-timeout 1250 --initial-rtt-timeout 500 等价,最大 TCP 扫描延迟为 10ms。T5 等价于--max-rtt-timeout 300 --min_rtt_timeout 50 --initial-rtt-timeout 250 --host-timeout 900000,最大 TCP 扫描延迟为 5ms。


+1
1794°C
3
  • xjboy
  • steven0507
  • 先求尔1992
过: 他们
窦运浩
边芳苓
谢谢楼主的分享。
皇甫诗柳
於代巧
好贴!支持一下!!!
能书意
欧阳雪卉
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

BackTrack是一套专业的计算机安全检测的Linux操作系统,简称BT。BackTrack 是一个基于Ubuntu GNU/Linux的发行版本,主要用做数字取证和入侵测试。它的名字引用自回溯法(backtracking)。BackTrack 给用户提供了大量功能强大但简单易用的安全工具软件。BackTrack还支持Live CD和Live USB启动方式,用户可以直接从移动介质启动该系统而不用将系统安装在硬盘上。BackTrack被设计成一体化的旨在安全审计用的livecd,曾经它是被最广泛采用的渗透测试框架并被世界各地的安全社区所使用。现在,BackTrack已被Kali Linux所代替,BT将不再维护。
快速回复 返回顶部 返回列表