这本身不是一个“ bug”,只是Nmap选择忽略某些标准,而希望使用更多的源端口。 Nmap与许多端点建立了大量连接,并尝试优化其速度以避免丢包。为此,它必须能够确定发送探测的时间和接收响应的时间之间的时间。如果在收到对第一个探针的响应之前两次发送相同的探针,则它可以认为网络的速度是实际速度的两倍。为避免这种情况,请使用encodes an identifier into the source port以免混淆响应并获得最准确的时序信息。因为它发送了很多探测,所以它试图通过增加可能值的范围来避免在同一源端口上环回。您可以在我链接的代码中看到它选择33000以上端口的位置。