我们怎样才能知道客户端上我们自己的外部IP地址

时间:2013-04-10 16:43:23

标签: ip ip-address

我们如何在CLIENT(=我们的计算机)上知道我们自己的外部IP地址;不是我们的内部IP地址,不是通过现有的网站,不是通过我们为此问题制作的新网站; JUST与纯客户端操作系统命令脚本和/或JavaScript?那可能吗?事实上,如果有人作为一种方式,他们应该收集100万美元,因为根据我的知识,没有人能在这个星球的任何网站上得到答案,A.R。

4 个答案:

答案 0 :(得分:1)

我认为有人DID ask that already,但使用C#

IPHostEntry host;
string localIP = "?";
host = Dns.GetHostEntry(Dns.GetHostName());
foreach (IPAddress ip in host.AddressList)
{
    if (ip.AddressFamily == AddressFamily.InterNetwork)
    {
        localIP = ip.ToString();
    }
}
return localIP;

我不知道您要定位的操作系统,但您可能会创建一个控制台应用程序并从中读取值

希望有所帮助

答案 1 :(得分:1)

正如Gricha所说,可以通过外部网站申请。还有一个托管的开源项目。

您可以通过调用此API获取JSON格式的外部IP信息:

curl http://ip2country.sourceforge.net/ip2c.php?format=JSON

在C#中,必须有类似的方法来调用Web API。

项目信息位于:http://code.google.com/p/ip-address/

答案 2 :(得分:0)

您无法通过简单的系统调用找到外部IP地址。您可以从路由器接收它,这可能是特定于路由器的,或者您需要从局域网外的某些方面拨打电话。通常,这是通过HTTP请求或其他一些流行的互联网服务完成的。

此外,本地网络上的个人计算机没有外部IP。路由器有一个地址,并将数据包转发到单个设备。

答案 3 :(得分:0)

如果不离开现有网络,就无法做到这一点。

要知道您的IP地址,您需要询问路由器。这是你的路由器,在你的网络中为你提供IP。

要知道网络中属于您的路由器的IP地址,您需要向该网络中的某个人询问您的IP。因为那个网络给了他一个IP。

最后,如果您想了解ISP网络外的IP,您需要向您的ISP网络以外的人询问。