我的 IP 地址和端口号在互联网上可见吗?

我的 IP 地址和端口号在互联网上可见吗?

我去了网站http://www.whatismyip.com。它显示的 IP 不是我的系统的 IP,还显示了代理服务器的 IP 地址。所以我假设 nat 路由器为我的系统提供了一个公共 IP。
但是当我从同一局域网中的另一台电脑访问同一站点时。它再次显示了相同的 IP 地址。
              所以一定是超载nat 对吧?但是重载 nat 会为您的机器分配一个唯一的端口号(因为该局域网中的所有机器的 IP 地址都是相同的)。但是http://www.whatismyip.com不显示端口号。为什么会这样?

答案1

但是whatismyip.com没有显示端口号。为什么会这样?

为每个唯一连接分配一个唯一端口,而不是为 NAT 后面的每个主机分配一个唯一端口。

NAT 不仅必须能够确定将数据包返回到哪个 IP 地址,还必须能够确定返回到哪个端口。

NAT 表必须包含更多信息才能在两个方向上重写数据包

  • 目标 IP
  • 目的端口
  • 外部源 IP(由 NAT 分配)
  • 外部源端口(由 NAT 分配)
  • 内部源 IP
  • 内部源端口

当回复从外部主机返回时,NAT 将根据分配给连接的外部源 IP 和端口查找正确的内部源 IP 和端口。

NAT 后面的实际主机使用的端口与 NAT 选择和使用的端口无关。

答案2

所以一定是 nat 超载了,对吧?但是 nat 超载会为您的机器分配一个唯一的端口号(因为该局域网中的所有机器的 ip 地址都相同)。但是http://www.whatismyip.com不显示端口号。为什么会这样?

很简单。因为http://www.whatismyip.com不跟踪端口。它会将通信发送回原始通信进入的出站端口,而您的防火墙会管理该 NAT。我相信http://www.whatismyip.com如果开发人员愿意,可以告诉应用程序显示端口,但他们没有将其作为一项功能实现。

相关内容