用Java获取防火墙后面的客户端的实际IP地址

时间:2015-04-30 19:37:42

标签: java javascript networking

我需要在我的Web应用程序中为特定用例提供客户端的IP地址/计算机名称/ Mac地址。使用request.getRemoteHost()/request.getRemoteAddr()我获取网络防火墙的详细信息,而不是实际的客户端计算机。我还尝试访问请求标头 - X-Forwarded-For,如许多答案所示。但它总是以空的形式返回。我无法控制代理服务器/防火墙服务器将其配置为添加标头,因为它们是由客户控制的。

Java或javascript中是否有其他API可以检索请求的原始客户端IP。

非常感谢任何帮助...

2 个答案:

答案 0 :(得分:3)

即使您获得了真实的IP地址(例如运行签名的Applet或欺骗ActiveObject),您也无法使用它 - 它位于防火墙之后,您无法访问它。

您可能需要唯一识别计算机/浏览器吗?还有其他一些方法可以做到这一点。饼干开始。

答案 1 :(得分:1)

实际上内部IP地址没有价值。每个家庭网络都有计算机,地址为192.168.0.2。它会帮助你知道这个地址吗?

查看更多详细解释here

以下是查看Mac Address

的链接