我是怎么找到这些Hosts的

废话不说了,明天要动车回家,今晚要早的睡的~

1.搜索现成的:

搜索也是有点小技巧的,着重推荐几个搜的地方

如果状态最初发布时间在你手头的hosts失效之前的,直接跳过。

2.自己动手找

Step1.找到被墙的网址(以youtube不能播放视频为例):

如果你常常右键-查看源代码-可以忽略step1

Chrome下,网页任意位置右键-【审查元素(N)】,切换到Console一栏。如下图:

可以看到加载这个youtube网页,视频不能播放的原因是几个红色的错误:

可以直接看到 http://r4.pek01s01.c.youtube.com ,http://o-o.preferred.atl14s01.v2.lscache1.c.youtube.com 这两个域名指向的服务器上的数据加载失败,(当然可能不止这么一个服务器,这里不作深入讨论)。直接ping 这两个地址肯定也是ping不通的。

Step2:找到该地址的能访问的IP:

Youtube这种大型网站一般数据都是分散在全球各个服务器中的。假设东京有一台服务器,数据AAA,北京也有一台服务器,也存着数据AAA,这两台的数据是一样的。不同地区的DNS把这些域名(比如r4.pek01s01.c.youtube.com )指向不同的服务器。
也就是说:一个域名,对于不同地区而言,可以指向不同的IP(服务器)。比如现在我用的DNS默认把r4.pek01s01.c.youtube.com指向东京那台,但是GFW硬了,中断了到东京这台服务器的连接。然后我们添加了一条hosts,指向北京的那台服务器,就又可以上了。(注:如果DNS中和hosts文件中同时存在一个域名的解析,会优先使用hosts中的)。

上面都是解释性的废话,一半还是我猜的,专业人士可以忽略,欢迎补充指正!

找的方法一种可以参考这篇文章,我觉得他讲得很细致了。在这个网站上查对因的IP,http://just-ping.com/,挑个快点的。如果在just-ping搜索的时候发生被墙,原因是查询域名参数是get方式传递的,url中包涵敏感字符,你懂的。justping没有https,遇到这种情况就把这个地址加个FreeGate代理什么的访问吧!

还有一种方法是使用FreeGate的域名解析功能:设置-域名解析。如下图

然后…………咦…………这IP头不是北京的麽,可能上面域名中的pek就代表peking吧!有兴趣的可以多试几个看看,搞不定可以发现能用的全套hosts哦~

Step3.增加hosts:

此处省略100字,附赠一条ubuntu下命令:sudo gedit /etc/hosts

 

全文完,有疑问的可以下面留言,或者饭否,Twitter,Google Plus上问我。



关于 McKelvin

a hacker who's interested in `music computing` and `network security`.
此条目发表在 Work 分类目录,贴了 , 标签。将固定链接加入收藏夹。
  • http://aizaoqi.com 爱早起

    不错哦,呵呵