首页 文章

为什么以这种方式TCP打孔不起作用?

提问于
浏览
0

我对NAT表的理解是

  • NAT表映射(专用IP:端口) - >(公共IP:端口)

  • 它不关心协议或套接字连接

通过这种方式,我认为通过重用本地端口可以完成TCP打孔 .

  • 主机A后面的NAT连接到服务器S,主机A的NAT映射它的对
Host A(192.0.0.1:100)            ->            NAT            ->            Server
                             (192.0.0.1:100 -> 121.0.0.1:200) MAPPED
  • 主机A关闭该套接字并在同一本地端口(100)上打开新的侦听套接字
Host A(listening 192.0.0.1:100)   ->            NAT            ->            Server
                             (192.0.0.1:100 -> 121.0.0.1:200) MAPPED
  • 然后,我认为任何客户端都可以使用已映射的对(192.0.0.1:100 - > 121.0.0.1:200)连接到主机A(从服务器获取121.0.0.1:200)
    因为NAT表只考虑dest IP和端口而不是源IP和端口 .

但这不起作用!我找到了其他复杂的实现,但我好奇这是什么问题 .

1 回答

相关问题