是否可以使用 nmap 仅检查端口的状态(打开、关闭或过滤),而不检查其背后的服务?
目的是加快扫描结果。由于还涉及 UDP 扫描,因此需要很长时间才能完成。
除此之外,还可以做些什么来加速 nmap UDP 扫描?我正在使用的是:
nmap -n -sS -sU -p1-65535 -oN scan_out -iL hosts
答案1
使用您发布的命令,只需简单查找端口号即可生成唯一的服务信息。实际上没有明显的延迟,因此无法禁用它。
我建议将其分为两次扫描:一次针对 TCP,一次针对 UDP。这样,您可以在 UDP 扫描运行时毫不延迟地获得 TCP 结果。这也可以帮助 Nmap 进行内部计时计算。
为了加快 UDP 扫描速度,您可能需要牺牲一些准确性来提高速度。一些可能有帮助的选项包括使用总计时选项-T<digit>
(默认为 3,使用 4 或 5 可加快速度)、设置--max-retries
为较低值(小于 3)、设置--max-rtt-timeout
使用手册页中的说明并减少扫描的端口数量。无论如何,扫描 65535 个端口都会花费很长时间(您知道端口 0 是有效端口吗?)。请注意确保具有开放端口的主机不会超时(--host-timeout
如果超时,请将选项设置为较高的值)。
如果你仍然对 Nmap 的 UDP 扫描速度不满意,那么你可能需要考虑使用异步扫描器,例如独角兽扫描。
答案2
nmap 命令中没有服务发现。输出中的服务名称基于众所周知的端口定义,不会导致扫描缓慢。尝试使用选项 -T5。--min-rate 也有助于提高性能。小心太快可能会导致扫描不佳。查看 nmap --help:
TIMING AND PERFORMANCE:
Options which take <time> are in seconds, or append 'ms' (milliseconds),
's' (seconds), 'm' (minutes), or 'h' (hours) to the value (e.g. 30m).
-T<0-5>: Set timing template (higher is faster)
--min-hostgroup/max-hostgroup <size>: Parallel host scan group sizes
--min-parallelism/max-parallelism <numprobes>: Probe parallelization
--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: Specifies
probe round trip time.
--max-retries <tries>: Caps number of port scan probe retransmissions.
--host-timeout <time>: Give up on target after this long
--scan-delay/--max-scan-delay <time>: Adjust delay between probes
--min-rate <number>: Send packets no slower than <number> per second
--max-rate <number>: Send packets no faster than <number> per second