Tor 介绍

2023-11-01

TorThe Onion Router)是第二代洋葱路由(onion routing)的一种实现,用户通过Tor可以在因特网上进行 匿名交流。最初该项目由 美国海军研究实验室(US Naval Research Laboratory)赞助。 2004年的后期,Tor成为 电子前哨基金会(Electronic Frontier Foundation, EFF)的一个项目。 2005年后期,EFF不再赞助Tor项目,但他们继续维持Tor的官方网站。

  一.纸上谈兵——Tor工作原理分析

  我们首先将对Tor的工作原理进行介绍。就像我们出门一样,去东边要走东城门,去西边就要走西城门。我们的软件与别人联系也要走城门(端口),如用QQ聊天时,你在QQ里打一行字,选择发送,QQ就会把这行字转为数据包裹送到城墙边上(防火墙或网关服务器),然后他会寻找第8000号城门(端口),并穿过这个城门,将数据发给你的好友。但是如果黑心的网管不希望你用QQ聊天,他可以关闭第8000号城门,这样你的数据包裹会被城门挡住,你的聊天信息也就发不出去了。为了解决这个问题,网上出现了帮助转发包裹的好心人(代理服务器)。例如,我们在QQ中设置代理服务器地址为:202.106.0.20,端口为:8080,则再用QQ发送信息时,QQ将包裹送到城墙边上后,不会再去8000号城门吃闭门羹,而是转走8080号城门,并将包裹送到网络上地址为:202.106.0.20的那台机器上,这台机器再通过它自己的8000号城门将信息转给你的好友。这个机器就叫做代理服务器。

  不过水平稍微高一点的网管,可以在端口上加入包过滤的功能。即他会安排哨兵把守所有城墙上的城门(防火墙或网关服务器端口),他们不再禁止你将数据包裹运到城外。但是,所有经过城门的包裹都必须经过他们的检查,他们会将所有的包裹都拆开,查找里边是否有敏感数据(如QQ的数据包裹可能会包含Tencent),凡是包含敏感数据的包裹都会被这些哨兵拦截,即使你使用代理服务器,也无法躲过哨兵的检查。

  为了解决这些问题,Tor诞生了,Tor的工作示意图如图1所示。图中标有“+”号的机器为Tor的转发点,这些转发点形成了一个内部的环路,这些机器之间的数据包裹发送都经过加密。你在机器上安装了Tor的客户端软件后,你再聊QQ的过程就变成了,你的QQ首先将数据包裹发给本机的Tor代理服务器,Tor会将这些数据包裹进行加密保护,然后再送到有哨兵把守的城门,由于数据包裹已经经过加密,所以哨兵无法看到包裹中的敏感信息,就只好放行。由于包裹加过密,无法直接发给你的好友,Tor会先将其发给Tor环路中的一个转发节点,并由这个节点继续转发。经过几次转发后,最后的一个Tor转发点会将你的数据包裹翻译成明文,并发给你的好友,你的好友的回复信息则按照原路返回。

  

图1 Tor工作示意图

  Tor的工作机制给我们带来两大好处,Tor自动维护网络中的转发节点,你不需要再花费精神去寻找网络上可用的代理服务器了;而且由于数据发送是加密的,霸道的网管员将无法再封杀你,也无法知道你发送数据的具体内容。

 二、安营扎寨——安装与配置Tor

  了解了原理,我们就开始实践一下吧,Tor分为客户端和服务器端,服务器端就是我们上边提到的转发点,客户端则用来连接服务器端,它也是我们用来匿名上网的好助手。

  1.安装Tor 

  如果你只是使用Tor的客户端,则配置工作非常简单,运行下载下来的安装包,安装非常简单,一路Next即可,安装完成后双击桌面上的“Tor”快捷方式,此时会弹出一个命令行提示窗口,如图2所示。稍等片刻即可看到Tor成功建立环路的提示。

  

图2 Tor成功运行的提示

  此时Tor通常会连接3台网络上的转发节点,并在本地打开了9050端口的Socks5服务。当然连接服务器的数量和IP都会随着时间的变化而变化。如果你觉得总开这么一个黑窗口很难看,可以将Tor以后台服务的方式来运行,选择“开始→运行”输入:cmd,回车后打开命令行提示窗口,然后定位到Tor的安装目录,以默认安装为例,则输入:cd C:\"Program Files"\Tor或回车,然后再输入:

  tor -install

  tor -service start

  这样设置后,你每次开机,程序都会在后台运行,你可以在运行中输入:services.msc,在里边查看Tor服务的运行状况,输入:tor -stop可以停止服务;输入:tor -remove则可取消其按照服务的方式运行,但是你必须先停止手动这个服务。

  2.为Tor配置界面 

  如果你觉得对着命令行的黑白窗口过于枯燥,你还可以尝试使用Tor的一些界面插件,例如:Tor Tray,下载软件后将其拷贝到Tor的安装目录,双击运行,即可在右下角看到Tor的图标,如图3所示,在这个图标上单击鼠标右键,即可选择运行或停止Tor。

  

图3 Tor Tray运行或停止Tor

  如果你觉得Tor Tray过于简陋,还可以尝试使用Tor Control Panel,它是Tor的一个图形控制界面,可以查看Tor的详细运行情况,以及流量等信息,安装过程也非常简单,唯一需要设置的地方就是,需要向软件指明Tor的安装路径,如图4所示。安装完毕后运行软件,即可看到Tor的运行日志,如图5所示。

  

图4 指明Tor的安装路径

  

图5 Tor Control Panel可显示Tor的详细日志

  设置完成后,我们就可以利用Tor提供的代理功能上网了,以MSN的设置为例,打开MSN Messenger,选择“工具→选项”,在弹出的界面左侧选择“连接”,然后单击“高级设置”按钮,在“SOCKS”中输入:127.0.0.1,端口输入:9050,然后单击“测试”按钮,测试连接是否成功,如果提示成功,则说明你的MSN可以借助Tor上网了。

三、一个好汉三个帮——Tor辅助工具

  比较让人郁闷的是,Tor只支持SOCKS代理协议,而我们的很多网络软件不支持SOCKS协议,或者干脆就不支持任何代理协议,这时我们就需要使用一些辅助工具以拓展Tor的功能。

  1.为Tor增加HTTP代理 

  首先出场的是Privoxy,他可以帮助我们将HTTP代理协议转换成SOCKS代理协议,设置非常简单,首先安装Privoxy,运行软件,然后选择“Option→Edit main configration”,在弹出的配置页面顶端输入:forward-socks4a / localhost:9050 .(注意在9050后边还有一个英文的句号,不可省略),设置完成后重启一下Tor和Privoxy。然后再打开支持HTTP代理协议的网络软件,如:Firefox,在地址栏输入:127.0.0.1,端口使用:8118既可。测试Tor+Privoxy组合是否生效的方法是,访问网站:http://www.showmyip.com/cn/,如果左上角列出的IP地址与你实际的不符,则证明这个组合在正确的运行。  Privoxy会将你每一次对网络的访问操作都记录在它的日志当中,如果你的访问量较大,日志文件将非产大,我们可以里面可以关掉日志记录,具体操作方法是,选择“Option→Edit main configration”,搜索里边的:logfile privoxy.log和jarfile jar.log字段,在这两个字段前边加上#,这样Privoxy就不会自动记录日志了。

  2.让所有网软用代理 

  但是并不是所有的网络软件都支持代理协议,很多网络程序干脆就不支持任何的代理。这是就需要SocksCap出马了,它可以让任何不支持代理的网络程序使用SOCKS代理协议,具体做法是,安装并运行软件,然后选择“文件→设置”,在“SOCKS 服务器”中输入:127.0.0.1,端口为:9050。然后将需要使用代理的网络程序图标直接拖入到程序的窗口中,如图6所示,选择“新建应用程序标识项...”,在弹出的窗口中单击“确定”,然后SocksCap会在其窗口中建立网络程序的快捷方式,在SocksCap中双击这个网络程序,其就会通过SOCKS代理来访问网络。

  

图6 设置程序使用SOCKS代理

  注意事项: 

  Tor的功能非常的强大,它可以帮助我们突破几乎所有的网络限制,但是我们在使用的时候最好还是遵循一定的规矩:首先你不要将其用于BT下载等P2P应用,抛开合法性不谈,Tor的转发节点都是网络上的志愿者们使用自己的服务器和网络带宽建立起来的,如果通过Tor网络来进行巨额数据的传输,实在是非常的不厚道;垃圾电子邮件,Tor的加密功能可以帮助实现匿名电子邮件的发送,请不要使用这一功能发送垃圾邮件,给别人造成麻烦;恶意攻击,由于加密和层层转发的特性,通过Tor进行攻击很难被发现,为了Tor可以一直为我们服务,请不要将其用于这类违法活动。当然Tor在设计之初也考虑到这些问题,具备上述特性的网络活动很可能会在Tor的内部环路中被过滤掉,不会发送到外网去。 

  至此Tor的主要用法就给大家介绍完了,如果你觉得上述设置比较麻烦,你可以下载Tor+Privoxy+SocksCap的三合一版本,这个版本用法非常简单,只需双击文件夹中的run.bat即可,无需任何其他的安装和配置,上述三个软件都将被安装并运行,非常简单
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Tor 介绍 的相关文章

  • windows10 配置ftp实现局域网文件共享。(包含坑点及解决)

    坑点写在前面 为在网上的教程却没有成功的用户节约时间 坑点一 打开网络发现 控制面板 gt gt 网络和Internet gt gt 网络和共享中心 gt gt 高级共享设置 坑点二 WindowsDefender 防火墙 控制面板 gt
  • 判断机器IP是公网ip还是内网ip

    首先是恭喜开通blog 对于ip是否是公网ip 网上已经有很多文章进行了描述 但我每次都记不太住 总要查找一下才又清楚 因此决定在这里记录下来 方便以后查询 ip地址分为五类 E类为保留为今后使用 D类为组播地址 用于主机网络地址的就是A类
  • ZeroTier实现内网穿透详细教程,无需公网IP,实现异地组网

    ZeroTier实现内网穿透详细教程 无需公网IP 实现异地组网 ZeroTier 1 官网注册账号 创建自己的局域网段 2 点击创建好的网络 进入设置界面进行设置 3 下载客户端 安装客户端 然后连接到网络中 4 加入网络成功后 需要返回
  • UTM安全功能部署场景——web过滤原理、url过滤

    目录 web过滤原理 网络过滤检查模式 代理模式 流模式 DNS模式 应用场景 一 组网需求 二 组网拓扑 三 配置要点 四 配置步骤 五 配置步骤 web过滤原理 网络过滤检查模式 代理模式 基于代理的检查包括流量缓冲和在决定一个行动之前
  • 《计算机网络》——第七章知识点

    防火墙 特殊编程的路由器 实施访问控制策略 分为网络级防火墙 防止网络出现非法入侵 和应用级防火墙 进行应用的访问控制 本次文章详细PDF请点击以下链接查看 https download csdn net download qq 53142
  • 软件的静态测试和动态测试【软件测试分类】

    软件的静态测试和动态测试 软件测试一般分为静态测试和动态测试 1 静态测试 静态测试时指测试程序不在机器上运行 而是采用人工检测和计算机辅助静态分析的手段对程序进行检测 静态分析中进行人工测试的主要方法有桌前检查 Desk Checking
  • Ubuntu中ufw命令的使用

    目录 简介 一 ufw服务 1 1 检查ufw服务状态 1 2 开启ufw服务 1 3 关闭ufw服务 1 4 禁用ufw服务 1 5 启用ufw服务 二 ufw相关命令 2 1 检查ufw状态 2 2 开启ufw 2 3 关闭ufw 2
  • 手机如何连接VMware虚拟机中的服务器

    手机如何连接VMware虚拟机中的服务器 由于没有服务器 于是在自己的虚拟机中CentOS 7中安装hadoop中 用手机看是否能否登陆hadoop管理界面 环境 android手机 Windows 10 x64笔记本 VMware Wor
  • 华为防火墙配置了限制一台主机只能访问固定域名和IP的安全策略后打开网站加载速度很慢半天打不开

    环景 华为USG6311E VRP Software Version 5 170 USG6300E V600R007C00SPC200 V200R007C00SPC091 PC联想win10专业版 谷歌浏览器版本 88 0 4324 182
  • 校园网防PROXY代理原理与方法分析

    一 概述 本文针对园区网尤其是校园网存在的RPOXY代理问题 进行了详细的技术说明 并针对不同的应用情况提出了多种解决方案 其实 PROXY问题存在于两个方面 一是利用PROXY发表反动言论 二是利用PROXY逃避计费 利用PROXY发表反
  • 网络系统实现技术之IPX与SPX

    IPX SPX Novell NetWare网络 Novell公司为适应网络发展 将主机网络转换为PC网络 开发了Novell NetWare网络系统 该系统中基于客户机 服务器模式 以普通PC机做为客户机 以性能强大的服务器做为服务器 为
  • Linux下安装Nginx

    一 什么是Nginx Nginx engine x 是一个高性能的 HTTP和反向代理服务器 也是一个 IMAP POP3 SMTP 服务器 正向代理 反向代理 很多大网站都是使用nginx做反向代理 应用非常广泛 Nginx是一款高性能的
  • Memcache是什么

    Memcache是什么Memcache是danga com的一个项目 最早是为 LiveJournal 服务的 目前全世界不少人使用这个缓存项目来构建自己大负载的网站 来分担数据库的压力 它可以应对任意多个连接 使用非阻塞的网络IO 由于它
  • Linux防火墙命令

    文章目录 一 Linux防火墙基本命令 1 查看防火墙状态 2 开启防火墙 3 关闭防火墙 4 重启防火墙 5 禁用防火墙 禁止开机启动 6 开机启用防火墙 开机自启防火墙 7 查看防火墙所有开放的端口 8 开放指定端口号 9 关闭指定端口
  • 私网地址与Internet地址

    一 A B C三类地址 可用地址范围 备注 A类 1 0 0 1 126 255 255 254 B类 128 1 0 1 191 255 255 254 C类 192 0 1 1 223 255 255 254 D类 224 0 0 1
  • Linux网络和安全:配置、远程访问与防御指南

    文章目录 Linux 网络和安全 引言 网络配置 IP地址配置 配置网络接口 防火墙设置 安全性加强 Linux网络配置及端口管理 网络配置命令 端口管理 防火墙和安全性设置 防火墙管理工具 安全性设置 Linux远程访问技术 SSH和VP
  • linux关闭防火墙和打开防火墙

    永久打开或则关闭 chkconfig iptables on chkconfig iptables off 即时生效 重启后还原 service iptables start service iptables stop
  • TCP flag注释

    http blog csdn net wisage article details 6049733 三次握手Three way Handshake 一个虚拟连接的建立是通过三次握手来实现的 1 B gt SYN gt A 假如服务器A和客户
  • NCRE网络技术知识点

    备考NCRE的三级网络技术 主要以刷题为主 考试大部分是题库中的原题 刷题的过程也要主要总结和复习 因为题库有很多重复的题目 重复的知识点 但是考试的时候记忆不清晰的话很容易重复犯错 弹性分组环 RPR 中每一个节点都执行SRP公平算法 与
  • DuplexPipe二三事(五)——来自内网的呼唤

    穿越防火墙 你是否曾经尝试过去连接一台远程计算机 却因为被防火墙拦截或路由器没有转发而造成无法通信 这是主动式连接的一个弊端 它依赖服务器的状态 而对服务器有生杀大权的只有管理员 如果能让服务器主动尝试连接我们的计算机 那就没问题了 因为防

随机推荐

  • 树莓派安装opencv教程

    我使用的镜像版本为 Linux version 5 10 103 v7l dom buildbot arm linux gnueabihf gcc 8 Ubuntu Linaro 8 4 0 3ubuntu1 8 4 0 使用Python3
  • C++ 仿函数的分类

    一 概述 仿函数 functor 就是使一个类的使用看上去象一个函数 其实现就是类中实现一个operator 这个类就有了类似函数的行为 就是一个仿函数类了 有些功能的的代码 会在不同的成员函数中用到 想复用这些代码 1 公共的函数 可以
  • 普通人如何抓住AI这个风口

    随着科技的发展 人工智能 AI 已经成为当今社会的风口浪尖 越来越多的行业正在应用AI技术 新的职业和商业机会也随之出现 那么 作为普通人 我们应该如何抓住这个风口呢 来看看 AI硅基小助手 是如何解答的 1 学习AI相关技能 学习AI相关
  • Shiro和Spring Security的简单对比

    Shiro和Spring Security是Java中常用的两种安全认证框架 安全认证主要包括认证和授权鉴权两部分 认证指应用程序验证一个用户信息的过程 应用程序需要确认当前的用户是否是合法的用户 用户会向应用程序提供两部分数据 身份信息和
  • Java学习-冒泡排序

    冒泡排序 通俗的理解就是将一列无序的数字按照从大到小或者从小到大的顺序进行排序的一种简单的算法 在Java中一般是将数组使用冒泡排序的方法进行排序 大致原理是遍历数组元素 然后每两个之间进行比较 将较大值或者较小值按照自己想要的排序结果进行
  • YOLOV7调用本地USB摄像头和自己训练的权重文件实时检测目标

    作者新手 挣扎于毕业的菜鸡一枚 有问题欢迎讨论 最近在做课题时想直接调用本地摄像头来测试一下自己的训练结果 查到的文章多用到onnx openvino等格式转换部署 但作者没有这方面需求 折腾一会失败了 后来发现yolo系列自带了此功能 只
  • Linux xarges

    对于管道 之后的一部分命令可以用stdin进行输入 如 cat a grep test 但有些命令只能用参数形式 就要使用xargs了 xargs可以将stdin转化为参数 类似于find命令中的 exec选项 xargs也可以将单行或多行
  • 电赛经验分享

    2019 TI杯过程和经验分享 在这里我也是第一次写博客 看博客已经有一年多了吧 为什么要在这一次写博客呢 一是因为这一次比赛对我的影响很深 也算试一次经历和教训吧 二是因为最后一次参加TI杯大赛 在 比赛之前我们是做了充分的准备 把前两年
  • 如何用计算机名添加的打印机,如何添加打印机(如何在电脑上安装打印机)

    如何添加打印机 如何在电脑上安装打印机 平时在生活中 我们要将电子档的文件打印出来 都需要使用到打印机 传统的打印机都是以电脑为主 今天就教大家如何在电脑上安装打印机 电脑上安装打印机的详细步骤 1 双击打开桌面上的 控制面板 如果桌面上没
  • cadence布局布线常见问题详解

    cadence布局布线常见问题详解 1 怎样建立自己的元件库 建立了一个新的project后 画原理图的第一步就是先建立自己所需要的库 所采用的工具就是part developer 首先在建立一个存放元件库的目录 如mylib 然后用写字板
  • vue 前端调用摄像头上传压缩图片后端保存调用微信OCR识别身份证

    前端
  • iOS app签名机制

    前言 在移动开发中 iOS系统下的app和andorid系统下的app一个很大的区别是 android系统下 app的安装很方便 可以从多个应用商店下载 小米应用商店 华为应用商店 也可以直接下载apk的包安装 而在iOS系统下 对app的
  • 【CreateFile() Error 5】 权限问题解决

    CreateFile Error 5 权限问题解决 打开注册表 regedit HKEY LOCAL MACHINE Software Microsoft Windows CurrentVersion Policies System 修改这
  • git -C

    https git scm com docs git C
  • 谷歌技术"三宝"之BigTable

    谷歌技术 三宝 之BigTable 2006年的OSDI有 两篇google的论文 分别是BigTable和Chubby Chubby是一个分布式锁服务 基于Paxos算法 BigTable是一个用于管理结构化数据的分布式存储系统 构建在G
  • STM32F103ZET6 之 ADC+TIM+DMA+USART 综合实验

    1 实验目的 1 使用 TIM1 触发 ADC ADC 采集的数据通过DMA 传至内存 然后通过串口打印出采集的数据 2 学会 DMA 传输数据并将数据进行保存 3 验证ADC 的采样率与实际设置的是否相符 2 硬件资源 1 指示灯 2 A
  • Linux实时监控日志文件的swatchdog

    1 前言 本教程主要讲解在Linux系统中如何使用swatchdog实时监控日志文件的变化 swatchdog Simple WATCH DOG 是一个简单的Perl脚本 用于监视类Unix系统 比如Linux 上的活动日志文件 它根据可以
  • 中达优控触摸屏编程视频教程_YKBuilder(中达优控触摸屏编程软件)下载

    YKBuilder也就是中达优控触摸屏编程软件 是中达优控YKHMI系列人机界面的集成开发环境 可以通过对现场数据的采集处理 赶快下载使用吧 YKBuilder以动画显示 报警处理 流程控制和报表输出等多种方式向用户提供解决实际工程问题的方
  • 中国姓氏大全,百家姓

    中国姓氏大全 百家姓 赵 钱 孙 李 周 吴 郑 王 冯 陈 褚 卫 蒋 沈 韩 杨 朱 秦 尤 许 何 吕 施 张 孔 曹 严 华 金 魏 陶 姜 戚 谢 邹 喻 柏 水 窦 章 云 苏 潘 葛 奚 范 彭 郎 鲁 韦 昌 马 苗 凤 花
  • Tor 介绍

    Tor The Onion Router 是第二代洋葱路由 onion routing 的一种实现 用户通过Tor可以在因特网上进行 匿名交流 最初该项目由 美国海军研究实验室 US Naval Research Laboratory 赞助