评论数:62条

如何挖掘网络资源[3]:解答 Google 搜索的常见问题(FAQs)

  按照原定计划,本系列的第三篇应该聊聊“搜索关键字的技巧”。但是考虑到经常有人来询问关于 Google 搜索的一些问题,今天先整理一个 FAQ 统一回答一下。以后再有人问,就让他们直接来看此帖 :)


★如何禁用“国别重定向”?


  (这个问题是问的人最多的)
  Google 通常会根据“发起搜索的 IP 地址”来进行“国别重定向”。
比如:天朝的网民不翻墙直接访问 Google 搜索,就会被重定向到 Google 的香港站点;
比如:你通过 I2P 翻墙访问 Google 搜索,可能会被重定德国的 Google——因为 I2P 的出口节点在德国。
  要想禁止国别重定向,可以点击如下网址,然后 Google 会在你本地保存一个 cookie 设置,下次再访问,就不会被重定向了。
http://www.google.com/ncr


★为啥要使用【加密】搜索?


  Google 大概是在 2011 年开始提供基于 HTTPS 的加密搜索。在那之前,主流的搜索引擎都是明文搜索的。
  为啥 Google 要提供 HTTPS 的加密搜索捏?主要目的是:避免你的搜索行为被别人监控。

◇明文搜索的隐患


  那么,什么情况下,你的搜索行为会被监控捏?主要有如下几种可能性(注意,是【可能性】,不是必然会发生的):
1. 在公司上网
如果你所在的公司部署了上网审计,或者你公司的网管有偷窥癖。那么你在网上进行明文的搜索(包括 Google、Baidu、Bing 等),有可能会被看到。
2. 在网吧上网
如果你去网吧上网,道理同上。
3. 使用公共 wifi 热点
如果你到公共场合,使用公共的 WIFI 上网(比如某些咖啡吧提供的免费 WIFI),也存在类似隐患。道理同上。
4. 使用翻墙软件
在天朝上网,翻墙已经是越来越普及的一项运动。要翻墙,通常需要翻墙软件来帮忙。用了翻墙软件之后,你的上网数据都要流经翻墙的服务器(包括代理服务器、VPN 服务器)。那么,一旦翻墙服务器监控你的网络流量,就有可能知道你的上网行为。

◇加密搜索的好处


  先表扬一下:在【主流的】搜索引擎中,Google 最先提供了全程 HTTPS 加密。
  用了加密搜索之后,即使有人监控你的上网流量(术语叫“网络嗅探”),也只能知道你在用搜索引擎;以下几项内容,监控者是【无法】知道滴。
1. 你在搜索引擎上搜了哪些关键字,监控者是看不到滴
2. 搜索引擎返回给你的查询结果,监控者是看不到滴

  提醒一下:
  如果你在 Google 的搜索结果中点击某个网页,并且那个网页是明文的(网址以 http:// 开头);那么,你点击的这个网页的内容,还是可能被监控者看到。


★两个加密搜索域名有啥差异?


  Google 目前有两个加密搜索的网址,网址分别是:
https://encrypted.google.com/
https://www.google.com/
  可能很多人不清楚这两个域名有啥区别。好奇的同学可以看 Google 官方的帮助(在“这里”)。
  总的来说,https://encrypted.google.com/https://www.google.com/ 略为安全一些。


★加密搜索能规避浏览器的监控吗?


  答案是:不能!
  加密搜索只能规避网络流量的监控(网络嗅探),但是无法防止浏览器窥探你的上网行为。

  拿老流氓 360 来举例:
  前几年 360 浏览器就被曝光过严重的用户隐私问题。它的行为很恶劣,会把用户访问的每一个网址都收集下来,然后发送到 360 自己的服务器上。这种情况下,加密搜索是帮不了你的。因为浏览器可以直接拿到地址栏里面的内容(也就是网址)。如果你使用搜索引擎,那么,根据相应的网址就可以判断出你输入了哪些搜索关键字。

  所以,俺顺便再啰嗦一句:
  别用那帮国产的浏览器。不论 360 还是腾讯,都不是啥好鸟。360 尤其恶心,整天嚷嚷着要维护用户利益,背地里不知道干了多少龌龊事情。


★Google 的网页缓存(快照)有啥用处?


  很多网友都知道,搜索引擎的缓存,可以帮你看到已经被删除的页面。其实捏,搜索引擎的缓存还有如下好处。

◇支持 HTTPS


  刚才介绍了加密搜索的好处,但是也提到了一点:如果你点击某个搜索结果的页面,并且该页面是明文的,那么你的上网行为还是有可能被监控。换句话说:如果有人监控你,可以知道你点开了哪个页面。
  如何避免这种情况捏?办法之一就是:访问【加密的】搜索引擎缓存(快照)。目前 Google 的缓存是支持 HTTPS 加密的。所以,你可以通过 HTTPS 方式访问某个网页的缓存,就可以部分降低(但不是完全避免)被监控的风险。
  为啥不是“完全避免”捏?因为 Google 的缓存,只是保存了页面本身的 HTML 内容。它并不保存页面上附加的网页元素(比如:图片、JS、CSS)。如果某个网页元素是通过 HTTP 明文传输的,那么,当你打开这个页面的缓存时,这些明文传输的内容还是会被监控到。
  拿俺博客举个例子:
  你可以用加密方式访问俺博客首页的缓存。但是因为俺博客上有图片(右上方的 Logo),而且这个图片是明文传输的。这种情况下,虽然缓存本身是 HTTPS,但 HTTP 明文传输的图片,还是会被监控者看到。并且因为这张图片是俺博客的 Logo,那么监控者就可以猜测你在访问“编程随想”这个博客。但是,网页的 HTML 文本(也就是网页的文字内容)是 HTTPS 加密的,所以监控者比较难判断你在看哪一篇博文。
  要想解决此问题,有一个替代方法——仅查看缓存的“纯文字版”(下面会提到)。

◇查看有风险的网页(避免网页挂马)


  Google 在缓存网页的时候,会检查页面上是否有恶意代码。这样有一个额外的好处——规避网页上的挂马。另外,Google 的缓存有两种:一个是完全版,另一个是纯文字版。完全版基本上是页面的原貌,而纯文字版会滤掉网页的附加元素(JavaScript 脚本、CSS 样式表)。显然,“纯文字版”比“完全版”更加安全。
  举个“纯文字版”的使用场景:
  时不时会有某读者给俺来信,说某某网页上的内容很有趣,并附上网址。通常情况下,俺是不会直接去点这个网址的。
  俺的做法是:在 Google 缓存里面查看该网页的(纯文字版)。这样的好处在于:万一这个网址是个陷阱,也不容易中招。


★如何快速打开某页面的 Google 缓存?


◇在搜索框输入网址


  在 Google 的搜索框中输入:
cache:你要看的网址
  举例:
本系列的目录页,网址是:https://program-think.blogspot.com/2013/03/internet-resource-discovery-0.html
你只需在 Google 搜索框输入如下,即可看到该页面的缓存:
cache:https://program-think.blogspot.com/2013/03/internet-resource-discovery-0.html
  上述方式看到的是缓存的“完全版”,在页面上方有一个链接,可以让你切换到“纯文字版”。

◇在地址栏输入网址


  如果你想用缓存的方式,查看某个有风险的网页。这时候你自然想直接打开“纯文字版”,那么可以在浏览器地址栏输入如下:
https://webcache.googleusercontent.com/search?strip=1&q=cache:
  然后把你要看的网址,追加到上述地址后面,变成这样
https://webcache.googleusercontent.com/search?strip=1&q=cache:https://program-think.blogspot.com/2013/03/internet-resource-discovery-0.html

  上述网址中的 strip=1 表示“纯文字版”,滤掉页面的附加元素(JavaScript、CSS、等);如果改为 strip=0 就表示“完全版”,不滤掉页面的附加元素。
  提醒一下,有些网站的功能非常依赖于 JavaScript 和 CSS,用纯文字版的缓存,可能会显示不正常。

◇使用浏览器书签


  上述那串网址很长,不好记。如果你用的是 Firefox,可以添加一个带变量的书签,就可以做到快速打开 Google 缓存。具体做法如下:
  在 Firefox 书签菜单或书签工具栏上点右键,选“新建书签”,会弹出创建书签的对话框。
  名称随便写一个,地址用如下两个之一。(这两个网址只有 strip 部分有差异,刚才解释过这两者的不同)

“纯文字版”的缓存
https://webcache.googleusercontent.com/search?strip=1&q=cache:%s

“完全版”的缓存
https://webcache.googleusercontent.com/search?strip=0&q=cache:%s

  在书签的“关键字”一栏,写 cache(如果你喜欢,也可以用其它单词),点“确定”按钮,就 OK 了。
  使用举例:
如果你想看俺博客主页的 Google 缓存,只需要在浏览器地址栏输入
cache https://program-think.blogspot.com/
Firefox 就会自动转向到如下
https://webcache.googleusercontent.com/search?strip=1&q=cache:https://program-think.blogspot.com/
就可以显示出俺博客主页的缓存。


★如何使用 Tor 访问 Google 搜索?


(如果你平时不用 Tor,请忽略本章节)

◇先描述一下问题


  经过俺的普及,博客的读者里面,有越来越多人开始用 Tor 来隐匿踪迹。对经常用 Tor 上网的同学,多半会碰到一个问题——Google 搜索经常会报错,或者经常让你输入识别码。为啥会这样捏?
  因为如今用 Tor 的网友越来越多(不仅是天朝,全世界都是)。但是捏,Tor 在全球的【出口节点】,数量很有限。这就造成一个后果——每一个出口节点都会频繁地发起对 Google 的搜索请求。
  对 Google 来说,当某个 IP 非常频繁地请求 Google 的搜索页面,Google 就会怀疑该 IP 的请求不是人类发起的,而是由软件自动发起的。所以 Google 会跳出一个页面,让你输入一串人类识别码(注册邮箱的时候,通常也会让你输入这种识别码)。如果某个 IP 的请求频率超过一定的限度,Google 忍无可忍,直接给出一个报错页面(连输入识别码的机会都不给)。

◇解决方法之“浏览器的代理扩展”


  浏览器的代理扩展具有这样的功能:你可以通过配置,指定某种特征的网址通过某个代理来打开。
  常见的代理扩展有:FoxyProxy
  在天朝,使用 Tor 的同学多半是通过双重代理(关于如何搞 Tor 的多重代理,俺在“这里”有介绍)。也就是说,Tor 是通过其它翻墙工具联网的。为了叙述方便,把“其它翻墙工具”称之为 XXX。这里的 XXX 可以是自由门、无界、世界通、等等。
  这种情况下,你的电脑同时存在两个代理的端口,一个是 Tor 的端口,一个是 XXX 的端口。
  如果你安装了代理扩展,你可以配置一下,让 https://encrypted.google.com/ 开头的网址都通过 XXX 的端口,而其它网址通过 Tor 的端口。这样就可以避免从 Tor 的出口节点访问 Google 搜索功能。

  某些安全意识比较高的网友可能会担心:这样一来,访问 Google 就只经过一重代理,会不会有隐患?
  俺个人觉得:
用基于 Tor 的双重代理来隐匿自己的公网 IP,主要是为了对付国内的网站——比方说你要在国内网站发表政治敏感言论。
对于 Google 的搜索请求,一重代理就够了,不需要双重代理。

◇解决方法之“StartPage”


  假如你对安全性具有偏执狂,死活不肯用单重代理。或者你嫌浏览器的代理扩展太麻烦,懒得去配置。那么还有一个办法:直接使用 StartPage 进行搜索。
  这个 StartPage 相当于是一个专门为 Google 定制的 Web 前端。使用 StartPage 进行搜索,你的浏览器先把搜索请求提交给 StartPage 的服务器,然后 StartPage 的服务器再转发给 Google 服务器。如此一来,Google 看到的搜索是来自于 StartPage 而不是来自于 Tor 出口节点。
  关于 StartPage 本身是否会有隐私问题,待会儿后面还会提到。


★如何避免 Google 搜索的隐私问题?


(如果你只是普通网民,不是敏感人士,请跳过本章节)

◇先描述一下问题


  大部分 Google 的粉丝,想必都注册了 Gmail 帐号,并且经常使用 Gmail。如此一来,当你登录 Gmail 的时候,Google 会在你的浏览器中保存一些 cookie。
  通常来说,这些 cookie 是为了给用户带来方便的:
比如你下一次登录 Gmail,就不需要再输入用户名,因为用户名已经保存在 cookie 里面了。
比如你在 Google 上搜索,Google 通过 cookie 就知道你的身份,然后会分析你以前的搜索历史,智能地判断哪些内容你所偏好的。然后这些你偏好的内容,在搜索结果的排名就会略微靠前。
  对于大部分网友而言,cookie 导致的身份识别,问题不大。因为 Google 相对于国内的某些流氓公司而言,是比较靠谱的。他应该不会拿你的个人隐私去卖钱的。所以,就算让 Google 知道了你的搜索历史,也无所谓。
  但是,少数安全性要求非常高的网友,他们可能不希望让 Google 了解自己的搜索历史。打个比方:Google 可能会被骇客入侵,然后入侵者拿到了 Google 的某些用户资料,那么自己的隐私可能会被曝光。
  这种风险不是俺凭空想像滴,现实生活中发生过真实的案例——2009年的极光行动,骇客企图入侵 Google 的 Gmail 系统,主要攻击目标是“中国政治异议人士的邮箱”。(从当时的迹象看,攻击者显然是天朝的御用骇客。此次事件直接导致 Google 退出大陆)
  所以,如果你是一个敏感人士(比如:政治异议人士、维权人士...),并且你对隐私方面具有很高的要求,可以通过下面介绍的方面,让 Google 无法知道你的搜索历史。

◇“不彻底”的解决方法——关闭 Web History


  当你访问 https://history.google.com/ 并登录了帐号之后,可以通过界面配置,关闭“Web History”功能。关闭了之后,你就看不到自己的历史搜索记录了。
  但是,你看不到了,不等于它就不存在了。有可能用户已经关闭了 Web History,但是 Google 依然在记录用户的搜索历史,只是不显示给你看而已。
  所以,这个解决办法是【不彻底】的。根本的解决之道在于:要让 Google 不知道你的身份。但是很多时候,咱们又需要登录才能用 Google 的很多服务(比如 Gmail)。怎么解决这个矛盾捏,请看如下几个【彻底解决】之道。

◇解决方法之“多浏览器”


  这是最简单的解决方法——只需安装两款不同的浏览器(这两款最好是【不同内核】的)。
浏览器 A
用来登录 Gmail,然后在该浏览器上使用 Google 那些【需要登录】的服务(比如:Gmail、Google Plus、Google Voice ...)。
浏览器 B
不登录 Google 的帐号,然后在这个浏览器上进行 Google 搜索。

◇解决方法之“浏览器多实例”


  有些同学比较挑剔,就喜欢某款浏览器,非它不用。那么,你可以尝试一下“多实例”的玩法。
  当浏览器配置为多实例,实例之间是完全隔离的——会使用独立的插件、扩展、页面缓存、cookie、等等。因此,咱们可以利用浏览器多实例之间的隔离性,创建两个实例。一个实例用来登录 Google 帐号,使用那些【需要登录】的服务(比如:Gmail、Google Plus、Google Voice ...);另一个实例不登录,只是用来搜索。
  目前主流的浏览器中,Firefox 和 Chrome 都支持多实例。关于这两款浏览器如何配置“多实例”,请看俺之前的博文《如何防止黑客入侵[6]:Web相关的防范》,此处不再啰嗦。(提醒一下:Chrome 的“多用户”功能跟“多实例”是两码事儿。即使你配置了多用户,还是在同一个“实例”里面)

◇解决方法之“StartPage”


  聪明的同学,刚才看过 StartPage 的介绍之后,多半猜到这个工具也可以用来进行匿名搜索。
  使用 StartPage 进行搜索,虽然最终你的搜索请求还是发送到 Google,但是 Google 看到的搜索请求是从 StartPage 的服务器发出。也就是说,Google 不知道是你本人在进行搜索。

  可能有的同学会担心——StartPage 本身是否会有隐私问题?
  俺个人觉得:
首先,StartPage 无需注册,所以它没法通过登录帐号来进行身份识别
其次,如果你使用翻墙方式访问,那 StartPage 就无法通过公网 IP 来对你进行定位
最后,StartPage 默认是不保存 cookie 的(俺测试过)。除非你在它页面上点 Setting 按钮进行了某些设置(比如每页显示多少条搜索结果),它才会保存 cookie

  所以,StartPage 也不失为解决方法之一。


★结尾


  今天先聊到这里。如果列位看官对于 Google 搜索还有其它的问题,欢迎到本文留言。如果某些问题具有普遍性,俺会补充到本文中。


回到本系列的目录
版权声明
本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者编程随想和本文原始地址:
https://program-think.blogspot.com/2013/03/internet-resource-discovery-3.html