为什么 Nmap 使用超出范围的源端口号?
Why does Nmap use out of range source port numbers?
我了解到以下是正确的标准 IPv4 端口号:
0 - 1023 Well known ports
1024 - 49151 个注册端口
49152 – 65535 个动态端口
但是,当我使用客户端 nmap (nmap.org) 时,Ubuntu 18.04,源端口是 34305、34306 等。我希望源端口是动态的端口范围。这是 nmap 中的错误吗?
它本身并不是 "bug",只是 Nmap 选择忽略一些标准以支持有更多的源端口可供使用。 Nmap 与许多端点建立大量连接,并尝试优化其速度以避免丢包。为此,它必须能够识别发送探测和收到响应之间的时间间隔。如果它在收到对第一个探测的响应之前两次发送相同的探测,它可以认为网络速度是实际速度的两倍。为了避免这种情况,encodes an identifier into the source port 为了不混淆响应并获得最准确的时间信息。因为它发送了如此多的探测,所以它试图通过增加可能值的范围来避免在同一源端口上环回。您可以在我链接的代码中看到它选择 33000 以上的端口。
我了解到以下是正确的标准 IPv4 端口号:
0 - 1023 Well known ports
1024 - 49151 个注册端口
49152 – 65535 个动态端口
但是,当我使用客户端 nmap (nmap.org) 时,Ubuntu 18.04,源端口是 34305、34306 等。我希望源端口是动态的端口范围。这是 nmap 中的错误吗?
它本身并不是 "bug",只是 Nmap 选择忽略一些标准以支持有更多的源端口可供使用。 Nmap 与许多端点建立大量连接,并尝试优化其速度以避免丢包。为此,它必须能够识别发送探测和收到响应之间的时间间隔。如果它在收到对第一个探测的响应之前两次发送相同的探测,它可以认为网络速度是实际速度的两倍。为了避免这种情况,encodes an identifier into the source port 为了不混淆响应并获得最准确的时间信息。因为它发送了如此多的探测,所以它试图通过增加可能值的范围来避免在同一源端口上环回。您可以在我链接的代码中看到它选择 33000 以上的端口。