首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript如何获取IP,人们在哪里使用代理?

问JavaScript如何获取IP,人们在哪里使用代理?
EN

Stack Overflow用户
提问于 2015-11-17 07:14:52
回答 2查看 703关注 0票数 0

你能说网站怎样才能用JavaScript获得真正的IP用户,而人们却使用代理吗?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2015-11-17 08:08:22

客户端Javascript本身无法获取您的IP地址。而且,即使它这样做了,它可能看到的也是内部网络IP地址,而不是公共IP地址。

因此,从普通Javascript获取IP地址的唯一方法是要求服务器告诉您IP地址是什么。您通过一个请求向服务器发出一个Ajax请求,该请求告诉服务器您希望它返回您的IP地址。然后,服务器可以返回看到您的连接来自的IP地址。此地址将是您的外向公有IP地址。由于目前大多数客户端计算机都位于某种路由器/防火墙之后,因此服务器看到的可能是从您的实际客户端计算机NATed过来的单个公共IP地址。

如果在我的客户端计算机和服务器之间的路由中存在代理服务器,则服务器将看到代理服务器的IP地址,而不是客户端计算机的IP地址。而且,你也无法改变这一点。代理和路由器专门设计用于将一组专用IP地址映射到公共IP地址,同时使专用网络的网络拓扑对外部世界完全隐藏。

例如,我的本地计算机现在的实际IP地址是192.168.1.17,这是我的家庭网络上的本地IP地址。但是,当我在互联网上向服务器询问我的IP地址正在使用http://whatismyipaddress.com/之类的服务时,它会报告Comcast分配给我的路由器的实际公共IP地址是67.180.86.xxx。当我从本地计算机连接到internet时,该连接首先连接到路由器,路由器使用NAT (网络地址转换)将此连接映射到我在本地网络上的私有IP地址和来自我的公共IP地址的特定传出TCP连接之间。当数据包在该连接上回流时,路由器会将这些数据包转发到我在家庭网络上的私有IP地址。

票数 1
EN

Stack Overflow用户

发布于 2015-11-18 03:45:41

我知道这是可能的。Tor浏览器,拦截JavaScrip,因为它们可以获取客户端真实的公有IP地址。而且我知道如何JavaScript才能获得真正的公共IP地址,而用户使用代理服务器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33746409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档