ping某个地址时,如我ping 219.11.11.11,它竟然返回信息replay from 219.11.22.33,是不是对方用了代理啊

解决方案 »

  1.   

    我前几天刚分析过同样的问题。不是代理服务器。
    原因是这样的:
    1.对方在一个NAT后面。(NAT是网络地址翻译,如cisco 路由器)
    2.对方机器配置有一个外网地址(219.11.11.11),并且路由器知道(预先配置的)将该包如何转发;
    3.对方机器同时配置一个内网地址,一个网关(指向NAT),经过NAT是被地址翻译(通常是PAT,也叫NAPT),翻译的结果是219.11.22.33。
      

  2.   

    是不是 replay from 219.11.22.33  host unreachable.要是这样,可能219.11.22.33是一个路由。
      

  3.   

    不是replay from 219.11.22.33  host unreachable;
    二楼的朋友,怎么他返回的信息replay from 219.11.22.33也是广域网地址,
    且ping219.11.22.33时这次真的是 replay from 219.11.22.33;ttl等与ping 219.11.11.11 一样 
      

  4.   

    NAT将内部地址翻译成外部地址
    219.11.22.33是NAT翻译的结果,当然是外部地址ttl的问题当时我没有做试验,不过一样也是正常的
    如果对方用的是静态NAT或动态NAT(不是PAT或叫NAPT)
    219.11.22.33是在路由器上映射给一台内网计算机,
    所以无论你ping 219.11.22.33还是ping 219.11.11.11,都是到路由器NAT在多一跳
      

  5.   

    奇怪,他多占一个广域网地址,如果这个地址有人用了,怎么办,是不是它能自动测试没有被用的广域IP地址,还是他修改IP头,返回一个广域IP,这个我想不出来啊,大哥
      

  6.   

    奇怪,他多占一个广域网地址,如果这个地址有人用了,怎么办
    =====================================================
    当然是IP地址冲突,后果是冲突的一方IP地址不会生效(绑定)
    是不是它能自动测试没有被用的广域IP地址
    ===================
    不是自动检测,是在NAT中预先配置好的,转换的规则有几种,到google搜索NAT/动态NAT/NAPT可以找到很多文章还是他修改IP头,返回一个广域IP
    ===============
    是修改IP头,用广域网的IP替换局域网的IP,如果是NAPT,还会修改TCP或UDP的端口,具体修改规则不是一两句话能说清楚的,不过网上相关文章很多
      

  7.   

    但奇怪的是:ping 211.11.11.11  和ping 211.11.22.33返回byte\ttl\time是相同的,做何解析,真正的211.11.22.33不就不可以访问了
      

  8.   

    ttl相同与211.11.22.33能否访问没有关系
    ttl相同只能说明所经过的路由数量相同,这完全是可能的。都是到NAT再多一跳。
      

  9.   

    真正的211.11.22.33不就不可以ping访问了?
      

  10.   

    我想就是他占用了两个外网地址而已。Windows2K以上的版本可以同时绑定n个IP地址。
      

  11.   

    219.11.11.11绑定在目标机上(你所说的“真正的211.11.22.33”指什么?)
    211.11.22.33配置在NAT上219.11.11.11应该是可以ping到的
      

  12.   

    RomanticProgrammer() 兰企鹅||南极俺最帅 () 
    好像还是你说得更有道理哦
    我最好试验一下
      

  13.   

    试验结果是RomanticProgrammer说错了
    如果是有两块网卡的主机,,即使ping的接口地址和那个回显数据包传递出来的不同的接口地址是被同一个主机(应该叫路由)占用的,回显包的源ip也是你ping的那个ip我想原因只可能是NAT防火墙了吧
      

  14.   

    我想这样问的:
    由问题知,如果我ping 211.11.11.11
    结果对方返回    211.11.22.33
    两个地址都是广域网IP
    ping 211.11.22.33 和 ping 211.11.11.11返回的ttl及time相同
    于是我想:ping 211.11.11.11是211.11.11.11通过修改ip头返回211.11.22.33
    但真正广域网上的211.11.22.33(其它机如果拨号上网占用了此地址)
    那么我们ping 这个真正的211.11.22.33能得到什么?(因为上面ping 211.11.22.33返回值跟ping 211.11.11.11相同)
      

  15.   

    于是我想:ping 211.11.11.11是211.11.11.11通过修改ip头返回211.11.22.33
    ==============================================================
    不是211.11.11.11通过修改ip头返回211.11.22.33
    按我分析是,目标主机配置有两个ip,一个是211.11.11.11,一个是内网IP,比如192.168.2.5
    同时配置一个默认网关,如192.168.2.1,即NAT的地址。该主机收到icmp echo包时,回应的ip包的源地址为192.168.2.5,目标地址为发出icmp echo包的主机地址。192.168.2.5在nat被转换为211.11.22.33,所以你看到返回包的源地址是211.11.22.33。但真正广域网上的211.11.22.33(其它机如果拨号上网占用了此地址)
    ===============================
    211.11.11.11和211.11.22.33应该是在一个子网内,很可能这两个地址是分配给一个公司、企业的,比如你要为公司拉一根ddn专线,可以向服务提供商要若干个IP地址,一般服务提供商会提供一个子网给你。因此如果211.11.11.11不会被该公司外的用户(比如拨号用户)占用,即便配置在机器上,路由器也不会将ip包路由给它。
    211.11.11.11和211.11.22.33理论上也可以不在一个子网内,如一个公司的多个子网(不是内网)中的IP地址,只要公司的各级路由器上配置向内、向外的ip包能正确被路由就可以。ttl及time问题
    ======
    ttl相同只不过说明ip包从目标主机到你的(发起ping的)主机经过的路由器相同,除此之外说明不了其它问题。在该例中,目标主机的两个ip(211.11.11.11和192.168.2.5)都是到nat在多一跳,ttl当然相同了.
    time相同也不能说明问题,只是发出echo和收到echo resp时间间隔,在该例中ping 211.11.22.33比ping 211.11.11.11多了两次nat修改ip头,这个时间微乎其微,可能只有0.001毫秒。
      

  16.   

    高,弄懂了一些,一个问题还是没弄懂:对方确实是ADSL拨号上网,不可能占用两个外网IP.所以对于第二个IP:211.11.22.33摸不着头,就是说他内网地址能映射成外网地址,真正的外网地址不就ping不到了