1.1 洋葱路由器
The Onion Router,Tor是一个世界范围的计算机网络,在请求开始点以加密的方式转发请求,直到到达网络中最后一台成为出口节点的计算机,出口节点会对请求进行解密并传输到目标服务器,出口节点是专门用于流量离开Tor网络的最后一跳,也是用于返回流量的第一跳。
从图中可以看出,Tor用户与目标Web服务器进行通信,目标服务器看到的流量来自于Tor出口节点,它们不知道Tor用户的真实IP、位置,本质上是匿名的。
1.2 代理服务器和协议
在Internet上保持匿名的原始方式:使用代理服务器或者代理。使用代理时,所有请求先发送到代理上,代理将它们转发到目的地。
与Tor的区别:
(1)Tor有整体网络系统,除了网络设备和类似设备外,代理服务器仅和源、目标计算机通信;
(2)源计算机和代理服务器之间没有隐私,代理服务器知道代理用户,知道每次接收的请求的实际来源,Tor出口节点并不知道原始请求来源于哪。
代理支持的协议:HTTP、SOCKS4、SOCKS5
(1)SOCKS4:是通过中间代理处理客户端和服务器之间流量的协议。仅支持TCP协议,不包含验证的方法。SOCKS4A是其扩展,增加了对DNS协议的支持。
(2)SOCKS5:SOCKS协议的最新版本,是SOCKS4的扩展,支持TCP和UDP,添加了方法来支持从客户端到代理服务器的验证。
透明代理:非匿名,代理服务器会添加附加的HTTP头,以表明请求的来源。(用户IP+代理服务器IP)
匿名代理:不会暴露IP,但是包含X-Forwarded-For头,添加附加信息以表明请求来自代理服务器。(代理软件名称+代理服务器IP)
高匿名代理:不会向目标泄露源计算机的任何信息。(代理服务器IP)
匿名浏览时,一个有帮助的措施是禁用JavaScript,火狐NoScript扩展。JavaScript、Java、Flash等浏览器插件可以会暴露用户真实IP,即使使用了匿名。