为什么不推荐在移动设备上使用hosts

  • A+
所属分类:hosts

首先需要介绍一些SSL/TLS的知识。当你以https的方式访问某个域名时,客户端(浏览器、App等)会向服务器请求证书,这时服务器会返回与域名一样的证书验证连接 比如你访问 www.google.com ,则返回 www.google.com 的证书来进行验证,验证通过之后才客户端才会继续建立加密连接

如果你访问 www.google.com ,而服务器给你返回 *.googleusercontent.com 的证书,那么只要是个客户端都不会继续建立连接了(360这种无视证书错误的奇葩除外)。

一般来说,一个IP的一个端口只能使用一个证书,而网站却可以有无限多个,如果是这样的话IP枯竭会提前到来的。聪明的人们想到了一个方法来改变现状:服务器名称指示(SNI)——在建立SSL握手请求时的加一个Host信息来标记要访问的域名,以便服务器解析Host信息后返回了正确的证书,这让一个 IP地址一个端口 得以使用 多个证书 。这也正是为什么可以在hosts里大量使用同一IP的原因。

当然,这需要服务端和客户端同时支持SNI。如果服务器支持了SNI而客户端不支持SNI,那么 以上技术均是白瞎 ,依旧只能获取到默认的证书,当证书错误时就不会继续建立SSL握手连接了。

以下是支持SNI的浏览器

Internet Explorer 8 及以上 (XP SP2及以下均不支持,SP3需安装补丁
Internet Explorer 7 及以上 (Vista或更高级的系统)
Mozilla Firefox 2.0 及以上
Opera 8.0 及以上 (the TLS 1.1 protocol must be enabled)
Google Chrome 6.0 及以上
Safari 3.0 及以上 (Mac OS X 10.5.6 以上)
MobileSafari(iOS 4.0以上)
Android 自带的浏览器 (Android 3.0 以上)


接下来回到正题,为什么不推荐在移动端使用hosts呢,这就和上面提及的SNI 有关了。咱们举个简单的例子吧

原本你使用V. P恩可以在 GooglePlay 上下载App,但修改hosts之后不但不能下App,连预览图都无法加载了,就算再用V. P恩也无法正常工作

这是因为GooglePlay这个App不支持SNI,应用预览图的地址是

lh*.googleusercontent.com

因为封锁太紧的原因,无法找到默认证书为 *.googleusercontent.com (泛域名) 的IP,在修改hosts后因为证书错误的原因,应用便无法正常加载图片。

嗯,这就是hosts的局限性所在了,如果你只是使用Web服务的话,可以无视这篇文章,如果你需要使用各种Google服务(例如play﹑hangouts)的话,那么不推荐使用hosts这种方法。

 

本文转自:思起

网络加速器推荐
老D

发表评论

您必须才能发表评论!

目前评论:50   其中:访客  50   博主  0

    • avatar 包子 0

      play商店好像支持sni了,最近我一直都可以直接下载应用

      • avatar Borot 0

        应该把最后一段话放在前面——嗯,这就是hosts的局限性所在了,如果你只是使用Web服务的话,可以无视这篇文章,如果你需要使用各种Google服务(例如play﹑hangouts)的话,那么不推荐使用hosts这种方法。——比较好

        • avatar Cazaea 1

          219.76.4.4
          219.76.4.3
          61.91.161.217
          Google的IP到底用哪个好?

          • avatar AC 0

            好用

            • avatar CrazyYan 0

              我改了host之后play也能看,googlenow也能用,ins,youtube都可以用。就是不可以在play下载,可是如果是chrome下载却又可以,总的来说,除了play不可以下载之后其他google服务一切正常。。。

                • avatar 丶zh 0

                  @CrazyYan 请教一个问题,刷了第三方rom,然后挂host可以在play商店下载应用;用官方rom挂同样的host却不能下载。这是什么情况。。。

                  • avatar Cazaea 1

                    @CrazyYan play 游戏能登陆吗?
                    我的账号怎么登陆不了呢?

                  • avatar 薛慕白 2

                    google play确实可用,有些机器可能不行吧,大家可以试一下,反正也没有什么损失

                      • avatar 薛慕白 2

                        @薛慕白 坑了,能浏览应用,就是下载不了,不过挂V@PN可以下载

                          • avatar 823422841@qq.com 1

                            @薛慕白 还有就是能访问youtube,去看不了视频,连接上V@PN就能看了

                        • avatar abcsy619 2

                          其实是可以的。只不过需要正确的谷歌IP,而这IP比较难找而已。

                          • avatar 就发 4

                            表示用hosts 使用ok google可以识别我的声音但是 紧接着搜索会提示离线

                            • avatar z1293 3

                              虽然用 Hosts 之后,Google Play 不能下载应用(浏览应用还是可以的),youtube 不能看视频,但是挂了 V@PN 之后就可以了。
                              只是 Google Play Games 这个玩意儿,修改 Hosts 之后无论挂不挂 V@PN 都连不上(改回来又能上了)。
                              ……大不了不用。

                              • avatar laodfans 0

                                web服务不是网页服务吗?我用手机hosts可以登录Twitter客户端啊,安全吗,老D

                                • avatar 9

                                  刀哥,我手机上用了hosts了,但是只能在数据流量上网时才能登陆google,用WiFi的时候却不能,这是为什么?

                                    • avatar 大头 0

                                      @ 我正好反过来啊,流量的时候就不行了,这是什么原因?

                                    • avatar 萧罔兹 9

                                      顺便求问一下通过路由器自定义hosts的可以使用谷歌框架那些的么

                                      • avatar 萧罔兹 9

                                        老D,我是小白,可以请教一下你说的这种情况适用于通过路由器(极路由自定义hosts)上网的手机吗

                                          • avatar 老D 9

                                            @萧罔兹 应该可以,你试试

                                              • avatar jason 0

                                                @老D 我在自己的mac搭建的dns服务器,有些域名默认使用hosts配置,google的所有访问都正常,唯独不能在google play理下载或更新app,有什么解决办法吗?

                                            • avatar A_of_All 2

                                              麻烦更新一下链接
                                              https://blog.aofall.com/index.php/archives/2015/11/about-hosts.html

                                              • avatar AZ 1

                                                127v2已被百度云识别为不安全内容,估计是被盯上了

                                                • avatar 杨孟之 9

                                                  话说,我用老D的hosts可以上谷歌play下载东西什么情况?

                                                  • avatar eizis 0

                                                    涨姿势

                                                    • avatar yehgl 1

                                                      用了老D的1月28日的HOSTS,翻墙可以,play商店进不了。到这里看了明白了。谢谢老D!

                                                      • avatar why 1

                                                        我今天发现老D的hosts不能用了,原来的,更新后发现还是不行,是不是又被封了,太快了吧

                                                        • avatar cyp0633 1

                                                          表示play商店也能行啊

                                                          • avatar nokiben 0

                                                            原来如此,了解。那有些需要google服务的游戏是不是也会受此影响?

                                                              • avatar 刘安邦 9

                                                                @nokiben 不会的,这个我已经试验了,你登陆游戏的时候会即时更新你的用户等级和成就

                                                              • avatar jtcaty 9

                                                                手机moto G用host, 网页能上, play上不了的,不过我并不怎么用play
                                                                另外原先连不上gg只能待机2天, 现在5天了还乘35%电

                                                                • avatar Google 2

                                                                  除此之外,那几个play商店的ggc早就被翔了,改hosts也没用

                                                                  • avatar 可儿 2

                                                                    昨晚和哥们喝多了,各自回家。她妈妈半夜两点多打电话给我说我哥们现在还没回去。给我吓坏了,一通找。最后发现在他家小区花坛里睡着,衣服裤子和鞋整齐的放着,就穿个花裤衩,还把手机充电线插土里。

                                                                    • avatar 黑色~最低调的奢华^-^ 9

                                                                      怎样注册

                                                                      • avatar A_of_All 2

                                                                        http://blog.aofall.xyz/index.php/archives/2015/11/about-hosts.html

                                                                        • avatar A_of_All 2

                                                                          再次提醒转载请注明来源,虽然说我把文发到了hosts的Wiki但不代表这可以不注明来源。

                                                                          • avatar lol 9

                                                                            [给力]

                                                                            • avatar Dale 2

                                                                              ios呢?

                                                                              • avatar 领导你好黑 9

                                                                                博主在移动端有其他方法吗,GooglePlay上不去在后台一直耗我的电,有点麻烦。 烦请赐教。

                                                                                • avatar 纳兰丶墨炎 0

                                                                                  安卓4.44,用你的改了hosts,直接用google play不行,挂代理后仍然可以下载App

                                                                                    • avatar 刘安邦 9

                                                                                      @纳兰丶墨炎 代理当然可以,但是我最近也在找hsots和代理同时生效的方法,最近比较纠结家里的网,代理会直接绕过hosts···

                                                                                    • avatar 阿桂 1

                                                                                      [给力]