【发布时间】:2013-08-12 23:44:14
【问题描述】:
有什么方法可以在不建立网络外部连接的情况下检索外部 IP 地址?
也许通过某种方式询问路由器?
如果我在路由器后面,操作系统是否知道我拥有的 IP?
StackOverflow 上的所有方法都推荐某种第三方提供商,但我希望我的应用程序独立于其他服务器。
编辑:我发现的最佳解决方案是:http://code.google.com/p/csharp-upnp-portmapper/
依赖于 UPnP。
【问题讨论】:
-
不,没有普遍适用的方法来做到这一点。这就是为什么您找到的答案需要联系外部来源。
-
如果有两个路由器怎么办?
-
使用 2 个路由器,您有 3 个 ip:内部、中间、外部。要获得中间或外部的 ip,您需要询问该网络中的人。
-
是否存在任何可以使用的标准?像 UPnP 还是 NAT-PmP?
-
是的,UPnP 是要走的路,另请参阅superuser.com/questions/420243/… 以获得一些想法,尽管没有一个解决方案是非常具体的。当然,如果路由器本身位于 NAT 之后,您将无法获得最外层的 IP - 但也许可以递归地应用 UPnP...
标签: routing ip ip-address nat