【问题标题】:Get Dynamic ip address Java?获取动态IP地址Java?
【发布时间】:2014-11-17 10:25:16
【问题描述】:

我正在使用 Java 技术 进行开发。 我需要使用之前分配的动态 ip 找到系统的动态分配的 IP 地址

有两种情况:

1.首先,我将以前的 IP 存储在我的数据库中,因此需要使用以前的 IP 查找 IP。

2.当用户连接任何USB调制解调器/加密狗时,动态IP会自动改变,因此如何在以前的帮助下获得新分配的IP 知识产权。

到目前为止,我尝试了很多东西,但在这方面没有得到有用的帮助。我只想使用 java 技术找到 ip,因为我从不从事此类任务。

【问题讨论】:

    标签: java servlets dynamic dynamic-ip


    【解决方案1】:

    无法根据之前的 IP 地址找到系统的当前 IP 地址。但是,您不需要这样做。如果您的系统配置正确,那么您应该能够找出它的 IP 地址是什么……与之前的 IP 地址无关。

    This Q&A 处理在 Java 中查找系统当前 IP 地址的问题。 (不幸的是,如果您的系统有多个网络接口和/或多个 IP 地址,它会变得有点复杂。)


    另一方面,如果您尝试为您的机器动态分配或获取 IP 地址,最好不要在 Java 中执行此操作。有各种各样的事情需要在系统级别(和其他系统)完成才能使其工作。 (阅读 DHCP 以及网络配置如何适用于您的操作系统。)


    我已将所有 ips 存储在服务器数据库上,但是当我的客户端 IP 更改时,如何自动更新我的服务器数据库 IP 唯一。

    我认为您想更改客户端的数据库条目,但您不知道客户端的旧 IP 地址是什么。

    除非您对客户端有一些其他识别特征(例如 cookie 值),否则我认为这是不可能的。新 IP 地址不会告诉您旧 IP 地址是什么,并且没有标准的网络服务可以为您执行此操作。 (如果您可以访问 DHCP 服务器日志,您可能能够弄清楚。但是这些日志对于普通的 Java 应用程序是不可用的。首先,它们将在另一台机器上......)

    基本上,IP 地址不是客户端的稳定标识符。如果您需要一个稳定的(或可跟踪的)标识符,则需要使用其他东西;即 IP 地址以外的其他内容。

    【讨论】:

    • 感谢您和另外 1 个查询,我已将用户的 IP 地址存储在数据库中,并且依赖于 IP,我将授予用户权限,但如果动态更改 IP,则此处的用户权限存在问题以任何方式更新数据库PC ip动态变化时的IP。
    • 当然。没有什么可以阻止您更新数据库以更改存储在那里的 IP 地址。你问的是这个吗?
    • 我已将所有 ips 存储在服务器数据库上,但是当我的客户端 IP 更改时,如何自动更新我的服务器数据库 IP。
    • @PrashantKhaire:除非您有 DHCP 服务器通知您有关更改,否则您不能这样做。基于动态变化的 IP 授予权限是一个可怕的想法。每个拥有网络扫描仪和一丝线索的人都可以轻松提升权限。使用 MAC 地址可以稍微改善这种情况。身份验证应始终是显式的,而不是隐式的。
    • 如果我断开局域网并使用网络设置器(加密狗)然后 DHCP 服务器不通知更改,那么我如何识别和任何想法。不使用 MAC 可能吗?
    猜你喜欢
    • 2015-04-16
    • 2015-02-23
    • 2013-12-04
    • 2011-12-26
    • 1970-01-01
    • 2012-09-26
    • 2013-08-19
    • 2010-11-04
    • 2011-09-11
    相关资源
    最近更新 更多