Routing 如何在不依赖第三方服务器的情况下获取外部IP?

Routing 如何在不依赖第三方服务器的情况下获取外部IP?,routing,ip,ip-address,nat,Routing,Ip,Ip Address,Nat,是否有任何方法可以在不进行网络外连接的情况下检索外部IP地址 也许可以问一下路由器 如果我在路由器后面,操作系统知道我有什么IP吗 StackOverflow上的所有方法都推荐某种第三方提供者,但我希望我的应用程序独立于其他服务器 编辑:我找到的最佳解决方案是: 它依赖于UPnP。如果路由器有一个webinterface,您可以在路由器的webinterface中获取状态页面,并从html中解析ip地址 Telenor 4G路由器的php示例 由于大多数路由器需要用户名和密码,您可能希望使用

是否有任何方法可以在不进行网络外连接的情况下检索外部IP地址

也许可以问一下路由器

如果我在路由器后面,操作系统知道我有什么IP吗

StackOverflow上的所有方法都推荐某种第三方提供者,但我希望我的应用程序独立于其他服务器

编辑:我找到的最佳解决方案是:


它依赖于UPnP。

如果路由器有一个webinterface,您可以在路由器的webinterface中获取状态页面,并从html中解析ip地址

Telenor 4G路由器的php示例



由于大多数路由器需要用户名和密码,您可能希望使用curl发送邮件,然后在登录后获取页面。

否,没有普遍适用的方法。这就是为什么你找到的答案需要联系外部来源。如果有两个路由器呢?有两个路由器,你有3个IP:内部、中间和外部。要获得中间或外部网络的ip,您需要询问该网络中的某个人。该网络是否存在任何可以使用的标准?像UPnP或NAT PmP?是的,UPnP是一条路要走,请参阅以获得一些想法,尽管没有一个解决方案是非常具体的。当然,如果路由器本身在NAT后面,你将无法获得最外层的IP,但也许可以递归地应用UPnP…是的,我在考虑类似的事情,但我希望它能在大多数路由器上工作,而不仅仅是在我自己的路由器上。因为路由器没有报告外部IP的标准,如果您不信任外部ip的Web服务,我的建议是建立一个列表,如果其中一个失败,请尝试列表中的下一个,或者全部尝试并使用您从大多数Web服务获得的ip,目前我首选的来源是