[英]How do I programatically get the IP address I am NATed behind? (i.e my pulic IP)
我想获取要在后面进行NAT转换的IP地址(例如,提供给外界的地址,而不是我的本地IP)。
类似于您从www.ipchicken.com获得的结果。
我怎么能得到这个? 本地IP信息很容易找到,但是我不知道如何从ISP获取IP。
我需要它的原因是我的网络基础结构使得我在网络外有两个网关。 如果一个失败,它会透明地跳到另一个。 一切都很好,但是没有警报机制可以告诉我我已经失败了。
我相信很难获得此信息。 我想我可以采取的另一种方法是将Web服务放在外部托管的Web服务器上-想法是它返回查询主机的IP。 (但是,我也不知道该怎么做!)我怀疑这可能是最简单的方法。
您的计算机没有本地访问此信息的权限; 您需要从执行此操作的许多网络服务之一中获取它。
有很多IP服务
以这个为例。 只需发出GET
请求,然后将简单的html切成小段即可: http ://checkip.dyndns.org/
有关此服务的更多详细信息(政策和规则): http : //dyn.com/support/developers/checkip-tool/
upd如果您需要经常检查IP,最好添加自己的Web服务。 .dyndns.org允许检查IP一次,持续10分钟。
您可以在Web服务上运行一些.net代码:
((IPEndPoint)tcpClient.Client.RemoteEndPoint).Address.ToString();
但是我认为脚本语言(python?)会更合适。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.