繁体   English   中英

多台计算机使用相同的IP地址

[英]same IP address for multiple computer

我试图使用php代码获取用户的IP地址:

$_SERVER["REMOTE_ADDR"];

当我检查与同一网络关联的计算机时,它为所有计算机提供了相同的IP地址...为什么是这样。 我期待着不同的IP地址。 如何使用php获取不同的IP地址?

IPV4 IP地址数量有限。 因此,大多数未运行面向公众的服务器的人都使用网络地址转换

这将使他们使用LAN上的计算机(IP 地址专用地址空间中 ,如192.168.1.2)和具有LAN IP地址和Internet IP地址的路由器来中继他们与Internet上的服务器之间的通信。

Internet上的服务器将只能看到面向Internet的路由器IP地址。

要查看私有IP地址,您必须在LAN边界内运行软件。 从理论上讲,如果您可以说服用户运行允许签名的Java小程序执行,则可以选择地址,但是即使在使用多个IP的情况下,也可能会遇到问题。 (例如,我目前有一个环回IP,一个以太网IP,一个Wi-Fi IP,并且正在运行两个虚拟机,我的工作站有两个IP可供它们连接)。

您有一个用于服务器的IP,一个本地网络具有一个外部IP(即您所看到的)。 该网络上的所有计算机都有自己的内部IP。

当计算机连接到您的服务器时,它会通过连接的路由器/交换机的ip。

当您在同一局域网中时,如果您的路由器使用NAT(大多数路由器都使用NAT),则您将拥有相同的IPv4地址。 您无能为力,这就是它的工作方式。 请注意,如果有人使用IPv6,则大多数情况下,每台计算机都拥有自己的唯一IP地址。

无需过多说明:路由器会跟踪传出的连接,从而确保每个数据包都到达正确的源(内部计算机)。 也没有办法跟踪它,因此您确实必须使用它。 但也请注意,使用“普通IP地址”以及所使用的代码,它非常独特。 也许网络中的某些用户具有相同的IP地址,但这是该特定网络的唯一标识符。 还要注意,人们可以拥有动态IPv4地址,这意味着IP地址经常更改。 “静态” IP地址是网络中保留的地址。 这是ISP控制的。

您的计算机可能位于网络代理服务器之后。

在这种情况下,您的Web服务器位于本地网络之外。 它只能从server变量中查看代理服务器的IP地址。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM