我们知道在同一个局域网内查知地址IP很容易,但是如果是外网的IP地址呢?特别是通过代理服务器的客户呢,譬如说学校一般都通过代理服务器来访问Internet,用什么方法可以查知它内部的IP呢?还有 能否实现将数据经过的路由器和网关的信息也记录下来呢?

解决方案 »

  1.   

    winsock的RemoteHostIP属性。
    返回远程机器的 IP 地址。 对于客户应用程序来说,已经用 Connect 方法建立连接后,属性就包含了远程机器的 IP 字符串。
    对于服务器应用程序来说,在请求连接(ConnectionRequest 事件)之后,属性包含远程计算机的 IP 字符串,该字符串启动了连接。
    当使用 UDP 协议时,在 DataArrival 事件出现之后,属性包含了发送 UDP 数据的计算机的 IP 地址。 
    语法
      

  2.   

    在内网中当然用winsock 没问题,但是你有没有试过在不同的网内呢,例如北大和南大各自有代理服务器作为出口,如果南大内部的机子要访问北大内部的机子,那么北大所得到的IP地址肯定不是南大内部机子的IP地址。所以说上面的老兄说的不对啊 !
      

  3.   

    理论上不可行
    看看TCP/IP路游器/网关/代理都修改的包头
    所以没有办法知道