nmap 警告:因为重传上限命中而放弃端口 (2)

Posted

技术标签:

【中文标题】nmap 警告:因为重传上限命中而放弃端口 (2)【英文标题】:nmap warning: giving up on port because retransmission cap hit (2) 【发布时间】:2013-01-22 02:11:51 【问题描述】:

我正在尝试使用 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).

为什么会这样?如何解决问题?

【问题讨论】:

【参考方案1】:

-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 设置或手动使用 @ 987654327@),然后这个上限就被击中了。

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

【讨论】:

什么时候重传?如果一个端口是“隐形”的(即没有回复关闭的端口),它如何知道是重传还是认为它关闭了? @SilverlightFox 完整描述为in the code 或the official Nmap Network Scanning book (print edition only)。简短版本:Nmap 不断发送一些之前得到响应的探针(定时探针或“ping”)。如果那些没有丢弃,那么丢失的响应可能是故意的,并且重传是有限的。如果计时探针开始下降,则需要更多的重新传输,Nmap 会降低整体扫描速度以避免未来下降。 非常聪明的东西。感谢您的解释 - 非常感谢。【参考方案2】:

我遇到了同样的问题,更改 T 参数和 --max-retries 并没有改变任何东西。

我的问题是我在 VirtualBox 中的网络适配器配置为NAT 而不是bridge

这可能是因为虚拟卡已被所有数据包饱和。 这个配置解决了我的问题。

【讨论】:

以上是关于nmap 警告:因为重传上限命中而放弃端口 (2)的主要内容,如果未能解决你的问题,请参考以下文章

Nmap for windows 下命令行使用

利用nmap进行特定端口扫描

想用nmap扫描主机开放端口的命令是啥

端口扫描之王——nmap

使用nmap进行udp扫描应该使用啥参数

如何设置才能让nmap无法扫描到139端口