使用 nmap 端口扫描家庭网络,但无法理解当连接超过 1 个设备时 nmap 如何找到打开的端口

port scanning a home network using nmap but can't understand how was nmap able to find open ports ,when more than 1 devices were connected

我看到一个视频,其中有人使用 nmap 扫描 public IP(这是他的 SOHO 网络)。它显示了所有打开的端口和其他信息,但我不明白 nmap 如何扫描端口并在该网络上有多个设备时告诉哪些端口是打开的。是 nmap 使用该 public IP 扫描该网络上的所有设备,然后显示集体结果还是其他? Link for that video

在 7:43

当 NMAP 扫描 IP 时,理论上它只会扫描在该 IP 上 运行 的设备。

但是有一个问题,如果 NMAP 扫描的 IP 是具有端口转发的设备,它会将对该端口的扫描转发到端口转发所针对的设备。

举个例子,我会定义一些东西

  • 您有 3 台设备,1 台具有 public IP 的路由器,2 台服务器 在路由器后面。
  • 我们将扫描 4 个端口,10、20、30、40
Port 10 is open on the router itself, its used for public communication

Port 20 is not opened on the router and its not being port forwarded

Port 30 is being port forwarded to Server 1, who has that port open

Port 40 is being port forwarded to Server 2, but that server doesn't have that port open

在 NMAP 上的结果中,您将得到以下结果。

端口 10 和 30 将显示为打开,而端口 20、40 将显示为关闭或可能已过滤

因此,虽然我们只扫描了一个 public IP 和该 IP 上的一台设备,但我们可以看到路由器后面的设备。 但这是唯一可能的,因为当我们尝试连接到路由器上的端口时,路由器会说:

“好的,这个连接正在尝试去往端口 30,我这里有一个配置说端口 30 应该去那个端口上的服务器 1,我会将流量重定向到那个服务器,然后当我得到来自服务器的响应,我将重定向到发出请求的设备