findwho
V2EX  ›  问与答

一个 hosts 问题

  •  
  •   findwho · Sep 16, 2014 · 3880 views
    This topic created in 4283 days ago, the information mentioned may be changed or developed.
    系统win7 sp1 X64

    网站不能访问,但是能够ping通,然后访问IP也是能访问的

    但是把IP加入hosts里,就不能访问了,这是啥原因?

    格式
    XXX.XXX.XXX.XXX AAA.com
    把格式改为
    XXX.XXX.XXX.XXX www.AAA.com
    也不行
    11 replies    2014-09-17 14:37:06 +08:00
    jacob
        1
    jacob  
       Sep 16, 2014
    域名屏蔽了?
    findwho
        2
    findwho  
    OP
       Sep 16, 2014
    @jacob
    域名肯定是屏蔽了,用ip网站能上,
    想加入到hosts中,访问更快一些
    niseter
        3
    niseter  
       Sep 16, 2014
    hosts只是解决的域名无法解析到正确IP的问题,但是如果防火墙过滤了Http请求中host字段的内容的话,还是会被拦截的。
    findwho
        4
    findwho  
    OP
       Sep 16, 2014
    @niseter ip能直接访问是怎么回事呢,能访问到主页,然后站内链接又变为不能访问
    比如
    aaa.com能访问,但是aaa.com/1 就不能访问
    niseter
        5
    niseter  
       Sep 16, 2014
    @findwho 你用IP能访问到主页,是因为浏览器此时发送给服务器发送给服务器的host值是IP地址(XXX.XXX.XXX.XXX),当你点击内页时,是用aaa.com/xxxx来访问的,此时hosts表能读到正确IP,但是浏览器的host值是域名了(aaa.com),如果你的防火墙在此时拦截以“aaa.com”的host字段,连接就会被阻断。

    你必须区分你的Hosts和浏览器HTTP请求的host字段。
    findwho
        6
    findwho  
    OP
       Sep 16, 2014
    @niseter 对啊,我知道啊,所以我加入hosts啊,就是让浏览器直接访问 XXX.XXX.XXX.XXX/a 啊,但是失败了,
    niseter
        7
    niseter  
       Sep 16, 2014
    我想已经表述的很清楚了。

    你系统设置的HOSTS,只是帮助你在请求一个域名的IP的时候,不用去问DNS。

    但是这个和浏览器请求网页的host值没有半毛钱关系。
    niseter
        8
    niseter  
       Sep 16, 2014
    我给你了例子做参考:

    1.这是我直接用61.135.169.125这个IP访问百度时,浏览器发给百度的host:
    Host:61.135.169.125
    2.这是我用www.baidu.com这个域名访问百度时,浏览器发给百度的host:
    Host:www.baidu.com
    3.这是我用61.135.169.125这个IP访问百度http://61.135.169.125/duty/时请求的内容:
    Host:61.135.169.125
    4.这是我用www.baidu.com这个域名访问百度http://www.baidu.com/duty/时请求的内容:
    Host:www.baidu.com

    而你在系统中设置的hosts,属于上述2&4情况。
    findwho
        9
    findwho  
    OP
       Sep 16, 2014
    @niseter 那google,facebook等加了host之后,就能访问,有啥不同么
    limuxy
        10
    limuxy  
       Sep 17, 2014
    LZ其实是没搞清楚墙有几种不同的方式:
    1. 墙IP,那么这个ip你就访问不了了。比如google就属于这种情况
    2. 墙域名,那么这个域名无论怎么换IP你都访问不了。比如一些反动网站。不过google,facebook的域名没有被墙,都是墙的IP

    LZ碰到的应该是域名被墙了,所以只要GFW检测到你的http header里面有这个域名,就直接reset了,不管你怎么换IP都没用的
    5GA
        11
    5GA  
       Sep 17, 2014 via iPhone
    @limuxy 对于墙域名,除了代理 vpn 还有别的办法么?能不能将域名全替换成IP 避过墙?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4718 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 79ms · UTC 05:35 · PVG 13:35 · LAX 22:35 · JFK 01:35
    ♥ Do have faith in what you're doing.