我的电脑在局域网在,IP地址是192.168.0.88整个局域通过带路由的ADSL上网,我发现我上网查IP时,地址一般是这样的:202.103.229.XX,那么,如何通过编程在本机取得像202.103.229.XX这类地址呢。我在CSDN上问第三次啦,都没有得到准确的答复,有些朋友给的代码,执行后只得到本机的局域网IP,难道这个小问题在这里也解决吗?

解决方案 »

  1.   

    你这种情况同我这儿是一样的。我写过一个sniffer程序,在内网中sniffer得到的IP地址都是192.168.0.X这样的内部IP,在代理服务器或网关上得到的IP才是如202.103.229.XX 类似这种外部IP。所以,我个人觉得在局域网内部比较难得到外部IP,除非你将你的机器和代理或网关进行端口镜像,使你的机器和代理获得同样的数据,这个在交换网络下尤其如此。
      

  2.   

    This IP address is only known to the router. So the only way to retreive the IP address would be to communicate with the router !
      

  3.   

    这种问题嘛,呵呵,我们暂且不说是路由器了,就是我们的一台能代理服务器上网的内网计算机,要知道自己的外网地址是很难的,至少我到现在还没有能够通过编程实现!在服务器上有两块网卡,一块接外网,用的是公网IP:202。XXX。XXX。XXX的那种,另一块是连到内网的,用的是192.XXX.XXX.XXX的那种IP,我们内网的机看到的,就只能是这个IP了,要看另一个IP我还没有办法。在使用网关上网的机子是这样子的...
      

  4.   

    早一个可以看到访问者ip的网站,分析一下网页。然后写个程序自动访问这个网页,从网页中提取你的ip就可以了。因为你的ip总是202.103.229开头的
    在网页中寻找这个字符串就可以了。要不然就要在服务器上放个服务端,你写个客户端去查询好了。
    internet网的ip不是分配给你的机器的,所以不能直接获得,只能用类似上面的这些办法了。
      

  5.   

    202.103.229.XX这个地址应该是你的局域网的ip在某个网关上的IP映射
      

  6.   

    ....如果是使用NAT/Proxy的需要外部服务器协助。即你发送请求道外部服务器,服务器返回给你的ip/port
      

  7.   


    需要和你的网关联系,发送个请求,
    (不过我不知道网关是不是提供这样的服务)
    不过如果你的网关也是用专用地址那就很惨啦。有个笨办法,traceroute一把,然后分析返回的结果,就可以找到你的外部地址。不过你要外部地址做什么?具体进程通信的端口可是不固定的。