nmap警告:因重传次数达到上限(2),放弃对端口的扫描。

25

我正在尝试使用nmap扫描一大批域名。我使用了以下命令:

Nmap -PN -p443 -sS -T5 -oX out.xml -iL in.csv

我收到了以下警告:

Warning: xx.xx.xx.xx giving up on port because retransmission cap hit (2).

为什么会发生这种情况?如何解决问题?

2个回答

31

-T5 选项告诉 nmap 使用“疯狂”的时间设置。以下是当前源代码中相关部分,说明了这些设置的含义:

  } else if (*optarg == '5' || (strcasecmp(optarg, "Insane") == 0)) {
    o.timing_level = 5;
    o.setMinRttTimeout(50);
    o.setMaxRttTimeout(300);
    o.setInitialRttTimeout(250);
    o.host_timeout = 900000;
    o.setMaxTCPScanDelay(5);
    o.setMaxSCTPScanDelay(5);
    o.setMaxRetransmissions(2);
  }

如您所见,最大重传次数为2。当重传次数有非默认限制时(使用 -T5-T4 或手动设置 --max-retries),并且达到了该限制时,您将看到该警告。

为避免此问题,请尝试缩小您的定时设置。 -T4 仍然非常快,并且适用于附近的网络。 -T3 是默认设置。如果您确定延迟和带宽不是问题,但可能由于故障硬件导致数据包丢失,您可以手动将 --max-retries 设置为更高的值,并保留其余的 -T5 设置。


1
它何时进行重传?如果一个端口是“隐形”的(即对于关闭的端口没有回复),它如何知道是重新传输还是将其视为关闭? - SilverlightFox
4
@SilverlightFox 完整的描述在代码或官方 Nmap 网络扫描书籍中(仅限印刷版)提供。简短版本:Nmap 会继续发送一些之前收到响应的探测包(时间探测或“ping”)。如果这些不掉线,则缺失的响应可能是有意为之,重传次数受限。如果时间探测开始掉线,则需要更多的重传并且 Nmap 会减慢整体扫描速度以避免未来的掉线。 - bonsaiviking
非常聪明的东西。我很感激你的解释 - 非常感谢。 - SilverlightFox

1

我曾遇到同样的问题,改变T参数和--max-retries没有起到任何作用。

对我来说问题出在VirtualBox中我的网络适配器被配置为NAT而不是bridge

这可能是由于虚拟卡被所有数据包拥挤了造成的。 这种配置解决了我的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接