获取我的IP地址

8

我有一台计算机连接在一个小型网络上,所以我的IP地址是192.168.2.100.

我正在尝试获取我的真实IP地址。我下载了no-ip客户端,但那似乎对于这么简单的事情来说太麻烦了。

我创建了这个PHP脚本来获取http://www.ip-adress.com/页面并检索出它给我的IP地址。

是否有更简单的方法?可以使用C、WSH或其他方式。如果在PHP中有更简单的方法,请告诉我。

当我获取到IP地址后,我将上传到我的FTP站点,以便我可以从工作中查看该IP地址。


6
http://www.whatismyip.org/ 提供了一个更简单的页面供抓取。 - Albert
1
你需要IP地址做什么?如果你想要一个静态地址,可以使用DynDNS或类似的服务。之后,你可以安装服务器来满足你的需求(远程控制、HTTP/FTP/SSH等)。 - schnaader
5
您的真实IP地址是192.168.2.100。您应该问的问题是:“我的互联网IP地址是什么?” - Robert Deml
相关:https://dev59.com/DnVD5IYBdhLWcg3wKYT- http://stackoverflow.com/questions/1161998/whats-the-trick-behind-getting-the-physical-ip-address - Helen
“我正在尝试获取我的真实IP地址。”您提供的IP地址192.168.2.100是一个真实的IP地址。它是RFC 1918定义的私有IP地址,但它是一个真实的IP地址。它与公共地址之间唯一的区别在于,ISP会阻止RFC 1918地址穿越公共互联网。您的私有地址可以做任何公共地址可以做的事情,只是不能在公共互联网上使用。 - Ron Maupin
显示剩余2条评论
12个回答

12

不,实际上没有更简单的方法。你的电脑并不知道它所在的公共IP地址,因为它和公共互联网之间可能存在多个NAT层级。它只知道接收到的消息是从192.168.2.100发送来的,并且所有发出去的消息都通过192.168.2.1这个网关发送出去。一旦数据包被传递给网关,它就对后续发生的事情一无所知。


6

3

虽然不完全符合你的要求,但仍然适用于你想要的内容。我在家里的电脑上设置了一个GMail通知器,并前往账户活动页面查看访问我的Google账户的IP地址。安全、简单且有效。


不错的想法 :) 简单易懂。 - AntonioCS

2

2

如果你想获取远程站点在处理你的流量时所看到的最终IP,则唯一的方法就是实际访问远程站点。在许多情况下,你的计算机可能不知道IP是由代理或NAT服务器更改的。


2

当我在NAT后面时,我经常使用curl http://whatismyip.org来获取我的公共IP。


1
当我需要检查我的公共IP地址时,我喜欢使用这个网站:

http://www.whatismyip.global/

该网站记录了您的IP历史记录。对我来说非常有用!

1

0

你现在的做法可能是最好的。

你说你有一个公共FTP站点 - 你在那里也有一个网站吗?你的另一个选择是让你的本地机器访问该公共站点上的一个php页面。那个php页面可以验证你的身份,然后使用$_SERVER['REMOTE_ADDR']来记录你的外部IP地址。


0

不幸的是,您的服务器很可能完全不知道它自己的外部地址看起来是什么(因为它可能通过某个路由器/网关在上游设置)

您可以查看此链接

http://ip-address.domaintools.com/myip.xml

它可能比你当前正在做的要容易一些解析。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接