
Tor工作原理及使用方法.pdf
12页Keller Tor工作原理及使用方法 阅读本文章前,请认真阅读文章尾部的 免责声明 本文章仅供学习交流, 文章中的技术 不得用于非法用途,继续阅读代表您同意该声明! 翻越防火长城,你可以到达世界上的每一个角落 Across the Great Firewall, you can reach every corner in the world. 使用 Tor —— 安全匿名地访问互联网 Tor官方下载页面: https://www.torproject.org/projects/torbrowser.html.en 何为 Tor ? Tor ,是英文 The Onion Router 的缩写意为“洋葱路由”很多中国人最开始是试图寻找翻墙软件而了解到 Tor 的实际上, Tor 在设计之初并非用于翻墙,而是用来隐藏用户在网上的行踪的使用 Tor 上网,可以避免目标服务器、ISP 等获悉自己的 IP 地址等信息用户除了可以使用 Tor 访问普通网站,也可以访问一些只有通过 Tor 才能访问的网站丝绸之路”就是其中最典型的一个这些网站大多涉及毒品交易等违法行为,而警察极其难以破译 Tor 的通讯来调查。
工作原理 Tor 工作的原理有些类似 VPN 传统的 VPN 在传输数据的时候,需要通过一个中间服务器中转所有的数据,但与 VPN 不同, Tor 需要 3 个 通常情况时, Tor 的工作方式如下 : 首先, Alice 的电脑会向一台服务器获取 Tor 的节点这些节点在图中是带有绿色加号的电脑数据将经过这些节点Keller 中转,最后到达目标服务器 Tor 工作原理图 1 之后, Alice 会在获取到的 Tor 节点当中随机选取三个在下图中, Alice 直接连接的那台电脑(在最左侧)为入口节点,中间的为中间节点,最右侧的为出口节点这个网站最后会通过出口节点的电脑访问,网站看到的 IP 等信息都是出口节点的出口节点会把数据通过中间节点,再通过入口节点传到 Alice 的电脑数据在经过前两个节点时都是加密的,只有出口节点才 能够看到网站的内容换句话说,出口节点的风险最大 Tor工作原理图 2 过一段时间, Tor 会继续随机挑选另外三个节点,使得出口节点只能看到一小片数据 Keller Tor工作原理图 3 这三个节点中的任意一个都无法获得用户完整的信息。
入口节点无法看到网站内容,出口节点无法看到用户 IP 等信息,中间节点什么都看不到如果网站是明文访问(使用 HTTP ),那么出口节点存在着获取用户信息的风险;但是如果像是 Google 、 Twitter、 维基百科之类已经使用 HTTPS 加密的网站,即使是出口节点也无法获知网站内容 使用 Tor Browser 时的截图注意经过了哪三个节点中转 由于数据在传输过程中几乎肯定经过了外国的节点,使得 Tor 无意中自带了翻墙的功能但是,这三个节点的地理位置分布也都是随机的 —— 可能第一个在法国、第二个在日本、第三个在美国,数据传输的时候等同于绕着全世界转了好几圈,速度可想而知通常在带宽够用时,也只能达到 30 KB/s 左右尽管如此,将 Tor 作为备用梯子保存也是很好的 —— 梯多不压身,再穷不能穷翻墙 不同于大多数商业 VPN , Tor 的所有节点都是由志愿者无私贡献的因此, Tor 将永远免费,不过正因如此,在使用 Tor 的过程中,也要尽可能避免浪费珍贵的节点资源 使用方法 下载 Tor 作为一个开源程序,客户端有很多但其中不少配置起来相当麻烦。
这里使用相对最简单的 Tor Browser 作为示例Tor Browser 可以在 torproject.org 获取,但是作为一个匿名上网、顺便还能翻墙的工具,其官网理所当然地被封了墙内用户可以使用我提供的镜像 Keller 尽管上述地址墙内可用,但还是建议有翻墙能力的人去 Tor 官网下载因为不排除这些墙内服务把下载者的信息供出去的可能(尽管没有有关先例, Tor 也不是什么特别敏感的东西) 在无网络审查(或使用 VPN 翻墙)情况下的配置 如果需要使用 VPN 翻墙,那么请先打开 VPN 在安装好 Tor Browser 之后,通常情况下它会自动连接,如果不能连接的话,点击弹出框中的“连接”(或英文版的“ Connect ”按钮) Tor Browser 一般就会自动配置好网络,当出现下图所示的页面时 —— 恭喜,您已经成功连上 Tor 了 使用 meek 网桥 在上文中提到了, Tor 的客户端需要先向一台服务器获取 Tor 的节点 GFW 在屏蔽 Tor 时,会直接屏蔽 Tor 的这台提供节点的服务器这也就是 Tor 无法使用的原因在几年前,中国用户仍然可以手动添加一种叫做“网桥”的服务器,来绕开 GFW 的屏蔽,获得服务器的地址。
但是,网桥本身也可以被屏蔽而现在 Tor Browser 内置的 meek 流量混淆插件可以很好地解决这一问题 外国有很多云计算平台如亚马逊的 AWS ,微软的 azure 等封掉这些平台对于不少跨国企业来说会造成相当大的损失,导致 GFW 根本不敢封 meek 插件可以将 Tor 的连接伪装成访问云服务的连接,从而混过 GFW 在混过 GFW 之后,同传统的 Tor 连接方式,再次经过 2 个 Tor 节点的中转,到达目标服务器 但是,在中国的有些地方, meek 网桥也是不可用的这时就需要参考第三种方法,利用前置代理使用 Tor ,或者使用未受污染的 DNS 使用 meek 网桥的速度通常要比直接连接(或者通过前置代理连接)要慢一些 第一步,选择“配置”(或英 文版中的“ Configure ”) Keller 第二步,选择“是”(或英文版中的“ Yes ”)点击“继续”(或英文版中的“ Continue ”) 第三步,选择第一项“使用集成的网桥进行连接”(或英文版中的“ Connect with provided bridges ”)。
在下拉菜单中选择“ meek-azure ”或“ meek-amazon ” meek-azure 是微软的云服务, meek-amazon 是亚马逊的云服务除此之外,还有一个“ meek-google ”由于 Google 几 乎全线服务都被屏蔽,因此 Google 的云服务不能选择如果有一个不能用,还可以选择另一个继续尝试最后,点击“继续”(或英文版中的“ Continue ”)使用 meek 网桥建立连接的速度也要比通常直接连接要慢一些 Keller 最后,在遇到这一页面时,选择“否”(或英文版中的“ No ”),点击“继续”(或英文版中的“ Continue ”),等待 Tor Broser 建立连接 Keller 使用前置代理 这种方法适用与前两种方法都连接不上、或者使用 Shadowsocks 翻墙,且想要速度更快的用户 如果手中没有 VPN 、Shadowsocks 之类的翻墙工具,推荐使用上面下载 Tor 的链接找到 Lantern 的下载地址,下载并安装 Lantern ,再按照下面的教程操作如果使用 VPN 翻墙,直接打开 VPN ,并使用第一种方法即可。
如果使用前置代理,那么 Tor 会使用用户指定的本地代理(通常是翻墙软件)连接这时候,数据就需要经过 4 台电脑传输,理论上甚至会更加安全如果在有翻墙工具的情况下,不建议使用 meek 网桥,因为通常来说使用前置代理速度反而更快 第一步,选择“配置”(或英 文版中的“ Configure ”)然后选择是(或英文版中的“ Yes ”)点击“继续”(或英文版中的“ Continue ”)这一步骤同使用 meek 网桥 当遇到下面这一页面时,不必更改任何设置,直接点击“继续”(或英文版中的“ Continue ”) 如果您知道应该使用什么前置代理,请直接输入如果使用 Shadowsocks ,那么通常情况下应该如下图配置 Keller Shadowsocks配置方法 图 如果使用我刚刚提到的 Lantern ,请正确下载、安装并打开 Lantern ,然后入下图配置 Lantern配置方法 图 最后,点击“继续”(或英文版中的“ Continue ”)等待 Tor 建立连接 Keller 进阶使用 在其他浏览器上使用 Tor Tor Browser 自带了一个 Firefox 浏览器。
如果不想使用自带的 Firefox ,也可以配置其他浏览器使用 Tor 在 Tor Browser 连接到 Tor 网络之后, Tor Browser 在 localhost 上 会开放 9150 端口,使用 SOCKS5 代理可以连接 不同的 Tor 客户端使用的端口不一样有些使用 9050 端口或其他,需要参考这些 Tor 客户端的支持文档 但是,有一些浏览器的插件(最典型的就是 Flash )不会使用代理网页上一旦有了 Flash 插件,仍然会暴露用户的真实 IP 除此之外, Tor Browser 为了做到匿名,还比普通浏览器多了很多额外的防范措施防止用户信息通过类似 Flash 的方式泄露用其他浏览器风险太大,不建议使用 在虚拟机上使用 Tor 在虚拟机上使用 Tor 是当进行极其敏感的操作时使用的方案在上一小节中提到,浏览器的其 他插件可能会泄露用户的信息,那么同样的,在电脑中的其他软件也有可能泄露使用虚拟机的话,可以在虚拟机软件中要求整个虚拟机使用 Tor(或者其他)代理下面是使用 VirtualBox 的设置样例 在更加极端的情况下,建议使用 Ubuntu 等开源操作系统,不装任何软件,搭配虚拟机使用,防止电脑上的部分软件有屏幕录像功能,将虚拟机的画面录像泄露。
或者连续使用两台虚拟机,将代理软件也放到虚拟机中,配置其中一台为双网卡模式,一台虚拟机连接另一台,最后再通过 Tor 连接到互联网 有何作用? 说了这么多,那 么 Tor 到底有何作用?使用 meek 插件,可以将 Tor 作为备用翻墙梯子利用它在互联网上匿名的特点,也可以干这些事: 搭配一次性邮箱注册账号 在一些网站上注册账号通常需要电子邮箱地址这些一次性邮箱能在数分钟到数小时内能够收发邮件,以此来混过这些网站验证邮箱的要求比如使用一次性邮箱注册一个百度账号,再使用 Tor 访问百度,就能够匿名地使用百度服务,如在百度贴吧上发帖等,而不被查水表 常用的一次性邮箱服务有: 除此之外,类似的玩法很多比如在网速足够快的时候,可以使用 Tor 作为代理拨打网络由于使用了 Tor ,网络服务商难以 确定用户的信息,进而避免被监控可以使用一些提供免费呼叫时长的网络,以此避免在充值的时候泄露信息 匿名举报 效果如下图可有效防止被查水表 Keller 匿名发表言论 刚刚提到了可以在百度上发帖,其实利用 Tor 可以做更加敏感的事情编程随想的博客就是典型例子本文的不少方案也是这个博客提到过的。
这个博客的博主应该现居于中国大陆,但是却仍能保证自身安全,很大程度上也是因为使用了 Tor 在他的博客中提到了很多使。












