如何通过编程实现:在内网中任意一台电脑获得自己的公网IP?---禁止采用远程服务器方式(300分)

  • 主题发起人 主题发起人 RollingStone
  • 开始时间 开始时间
R

RollingStone

Unregistered / Unconfirmed
GUEST, unregistred user!
问题描述:
在一个局域网中,内网的机子通过ADSL和路由器上公网,网关端口不允许对内网中电脑进行映射,如何通过编程实现,从内网中任意一台电脑探查出自己的公网IP? (操作系统为Windows)
禁止以下解决方式:
1)采用远程服务器方式,例如你可以开发一个程序,访问你的远程服务器,由远程服务器告诉你的公网IP;
2)借助WWW服务器,来显示你的公网IP;
3)程序要具有路由器无关性,也就是说禁止分析路由器的函数来实现。之所以禁止这个,是因为希望程序具有通用性,而每种路由器的函数库都不是完全一样的;
4)禁止采用Tracert www.XXXXX.com的方式实现,这是因为很多低级的路由器不支持tracert,导致程序不具有通用性。
请高手注意,以上四种方式是不允许的。

我曾经试图通过类似Ping www.XXXXX.com的方式,获取数据包,然后分析数据包,从中找出公网IP,但是没有成功。
 
后退
顶部