IP地址:使用程序或脚本

IP地址:使用程序或脚本,ip,Ip,A) 下面的陈述 System.out.println(java.net.Inet4Address.getLocalHost()); 将输出显示为myhostname/192.168.1.25 B) 以下显示(蒙面): 14x.7x.2xx.x1x 使用上述技术A(任何语言或脚本),如何获得上述技术B显示的值14x.7x.2xx.x1x?或者,有可能吗 换句话说(?),使用技术A(如原问题所述),我如何才能获得技术B所示的相同的家庭路由器的公共Ip地址?如果不可能,请简要解释(最多两行)原因

A) 下面的陈述

System.out.println(java.net.Inet4Address.getLocalHost());
将输出显示为myhostname/192.168.1.25

B) 以下显示(蒙面):

14x.7x.2xx.x1x

使用上述技术A(任何语言或脚本),如何获得上述技术B显示的值14x.7x.2xx.x1x?或者,有可能吗

换句话说(?),使用技术A(如原问题所述),我如何才能获得技术B所示的相同的家庭路由器的公共Ip地址?如果不可能,请简要解释(最多两行)原因


谢谢

我假设你在家里,你有一个路由器将你的几台电脑连接到互联网

将显示在全球互联网上可见的IP地址。这很可能是您的家庭路由器的IP地址,它为您的整个家庭网络公开了一个地址。这是您的公共IP地址

您显示的脚本将为您提供自己机器的IP地址,该地址通常仅在您自己的本地网络上有用。这是一个专用IP地址,只能从本地网络访问。

请参阅此问题:


计算机不知道它的最终公共地址,因为它不需要知道。本地网络IP地址足以完成任务。但是,如果您想获得公共广播,您必须使用链接问题答案中提到的外部服务。

好的。使用技术A(如原始问题中所述),我如何获得技术B所示的相同的家庭路由器的公共Ip地址?您无法从操作系统查询中获得公共Ip地址。路由器在操作系统不需要知道的数据包级别上转换IP地址。如果您的程序需要发送IP,那么您可以向ISP付费以获得静态IP地址,并将其作为常量提供。更好的是,获得一个静态IP和一个域名,并传递域名。关于链接问题的第一个答案建议创建您自己的web服务,在internet上的其他地方运行。第二个答案涉及一个Amazon Web服务,它将提供您的外部IP地址。