获取我的 IP 地址
Posted
技术标签:
【中文标题】获取我的 IP 地址【英文标题】:Getting my ip address 【发布时间】:2010-10-29 09:00:01 【问题描述】:我有一台小网络的电脑,所以我的ip是192.168.2.100。
我正在尝试获取我的真实 IP。我下载了无IP客户端,但对于这么简单的事情来说,这似乎很麻烦。
我创建了这个获取 http://www.ip-adress.com/ 页面的 php 脚本并检索了它给我的 ip。
有没有更简单的方法?使用 C、WSH 或其他东西。或者如果php有更简单的方法请告诉我。
当我得到 ip 后,我会将其上传到我的 ftp 站点,这样我就可以看到工作中的 ip。
【问题讨论】:
像您已经完成的那样抓取一些外部服务可能就足够了。它甚至可能是唯一的方法。您的路由器和/或互联网调制解调器将知道您的真实 IP。我不知道您将如何以编程方式与之交互。 whatismyip.org 提供了一个更简单的抓取页面。 您需要 IP 做什么?如果您想要静态地址,请使用 DynDNS 或类似地址。之后,您可以根据需要安装服务器(远程控制、HTTP/FTP/SSH...) 感谢 Albert,不知道那个网站。比 ip-address.com 容易得多 你的真实IP是192.168.2.100。您的问题应该是“我的 Internet IP 地址是什么?”。 【参考方案1】:如果您想获得远程站点在处理您的流量时显示的最终 IP,那么唯一的方法是实际访问远程站点。在许多情况下,您的计算机可能不知道 IP 正在被代理或 NAT 服务器更改。
【讨论】:
【参考方案2】:不,没有更简单的方法。你的计算机真的不知道它背后的公共 IP——在它和公共互联网之间可能有任意数量的 NAT 层。它只知道它在 192.168.2.100 接收消息,并通过 192.168.2.1 的网关发送传出消息。它不知道数据包到达网关后会发生什么。
【讨论】:
【参考方案3】:你做这件事的方式可能和其他的一样好。
你说你有一个公共的 FTP 站点——你那里也有一个网站吗?您的另一个选择是让您的本地计算机访问该面向公众的站点上的 php 页面。该 php 页面可以验证它是您,然后使用 $_SERVER['REMOTE_ADDR'] 记录您的外部 IP。
【讨论】:
【参考方案4】:不完全符合您的要求,但仍然适用于您想要的。我在我的家用电脑上设置了一个 GMail 通知程序,然后转到帐户活动页面以查看哪个 IP 地址正在访问我的 Google 帐户。安全、简单且有效。
【讨论】:
好主意 :) 简单易行。【参考方案5】:一些路由器可以通过 UPnP 告诉您他们的外部 IP 地址,或者更具体地说,IGD protocol。如果你碰巧拥有一个支持 UPnP 的路由器,你可以试试这个。 IStaticPortMapping::get_ExternalIPAddress 听起来很有希望。
启用 SNMP 的设备也可以告诉您它们的 IP 地址。请求的 OID 是 IP-MIB::ipAdEntAddr。
【讨论】:
【参考方案6】:不幸的是,您的服务器很可能完全不知道它自己的外部地址是什么(因为它可能通过某些路由器/网关设置在更上游的位置)
你可以看看这个链接
http://ip-address.domaintools.com/myip.xml
它可能比你现在做的更容易解析。
【讨论】:
【参考方案7】:我想不出你会如何从另一台机器的角度解析你的 IP 地址。这里有几个想法:
自动加载 ip-adress.com 页面并解析它 看DynDNS【讨论】:
【参考方案8】:我总是使用curl http://whatismyip.org
在 NAT 之后获取我的公共 IP。
【讨论】:
【参考方案9】:除了下一跳(通常是您的路由器的内部 IP)之外,您的计算机没有任何关于它与互联网之间发生的 NAT 或路由的信息。它根本不知道内部地址在哪一跳被转换为哪个公共地址。
因此,没有任何语言可以调用的简单函数或方法。
只有两种方法是问别人。怎么样?:
通过获取和解析路由器管理站点上的正确页面来询问您的 NAT 路由器(因为它自己会转换为公共 IP)。可以说是最可靠、最公平的。 通过获取和解析公共服务(例如 http://dynamic.zoneedit.com/checkip.html),询问外部主机对您的看法。 VB 脚本中的一个示例是here。【讨论】:
【参考方案10】:请注意重新发明***,有一个standard protocol, STUN(已经存在实现),就是为了这个。另见Discovering public IP programatically。
【讨论】:
【参考方案11】:您也可以访问此页面获取您的IP
http://www.biranchi.com/ip.php
【讨论】:
【参考方案12】:当我需要查看我的公共 IP 地址时,我喜欢这个网站:
http://www.whatismyip.global/
该网站会保存您的 IP 历史记录。对我来说很有用!
【讨论】:
以上是关于获取我的 IP 地址的主要内容,如果未能解决你的问题,请参考以下文章